Sitemap / Sales Channel können nicht generiert werden

Hallo,

ich versuche die Sitemap bzw. eine XML für den Google Shopping Export über die Konsole zu erstellen , bekomme aber folgende Fehlermeldung:

00:59:29 CRITICAL  [console] Error thrown while running command "sitemap:generate". Message: "Provided language 2fbb5fe2e29a4d70aa5854ce7ce3e20b is not in list of available languages: " ["exception" => RuntimeException { …},"command" => "sitemap:generate","message" => "Provided language 2fbb5fe2e29a4d70aa5854ce7ce3e20b is not in list of available languages: "]

Meine Installation von Shopware ist frisch und wurde nur mit ein paar Testdaten aus einer JTL-Wawi bespielt. Hat jemand eine Idee?

Same here für

bin/console product-export:generate 4320330b97964e2b91de4572d9a8cf6c

ich bekomme die selbe Fehlermeldung nicht bei der Sitemap sondern wenn ich versuche über die API eine Bestellung (order) anzulegen. Shopware 6.4.2.1

100% gleiche Fehlermeldung sogar die genannte language ID ist die selbe. Das ist die ID von „Deutsch“ und die einzige Sprache die wir im Shop haben… was ist also das Problem? Was soll „not available“ bedeuten?

I have solved same error by adding more languages to necessary sales channel:
In the admin area click on the necessary sales channel->„General Settings“ block->Languages->select all available languages.
screen shot

Hey,

habe das gleiche Problem wie Misengo. Wenn ich einen Produktexport per CLI für meinen Produktvergleichsverkaufskanal erstellen möchte, dann bekomme ich folgenden Fehler:

$ bin/console product-export:generate 018e1aa64f99789190db02966cf43e54

[Shopware\Core\System\SalesChannel\SalesChannelException]                                    
  Provided language "018d653a46e375db85b02b095818cf1f" is not in list of available languages: 

Wenn ich den Produktexport über das Aufrufen der URL im Browser starte, funktioniert alles einwandfrei.

Hat jemand mittlerweile eine Lösung dafür gefunden?

Habe das debugged. Und meine derzeitige Theorie ist, dass beim Erstellen des Sales Channel-Kontextes, die verfügbaren Sprachen (available languages) nicht richtig ermittelt werden. Das passiert in der BaseContextFactory. Dort werden alle Sprachen zusammengesammelt, die dem Sales Channel - in der Tabelle sales_channel_language - zugewiesen sind. In dieser Tabelle sind allerdings keine Produktvergleichsverkaufskanäle enthalten, daher kennt Shopware auch keine „verfügbaren Sprachen“ für diesen Sales Channel. Vermutlich liegt das daran, dass ich für Produktvergleichsverkaufskanäle keine eigene Sprache auswähle, sondern nur auf einen bereits existierenden Sales Channel und dessen Domain verweise.

Yaaaaaay :partying_face: Ich habe eine Lösung gefunden, also zumindest für das Produktexportthema: Es gibt noch weitere Optionen, die man dem product-export:generate Befehl übergeben kann:

product-export:generate [-f|--force] [-i|--include-inactive] [--] <sales-channel-id> [<product-export-id>]

:no_entry: Was ich bisher versucht habe und was nicht funktioniert hat:

bin/console product-export:generate <product-comparison-sales-channel-id>

:white_check_mark: Wenn ich allerdings stattdessen den Sales Channel übergebe, auf dem mein Produktvergleichsverkaufskanal basiert und dann als zweite Option den Produktexport, wird die CSV-Datei wie erwartet erzeugt:

bin/console product-export:generate <sales-channel-id> <product-export-id>

Und wie habe ich die Produktexport-ID gefunden? In der Datenbanktabelle product_export. Vielleicht hat jemand von euch ne Ahnung, wo man die im Shopware Admin finden kann?

Hi Kathi,

ich stehe aktuell vor der gleichen Herausforderung. Also ich führe den Befehl so aus:

bin/console product-export:generate 01932F15BB017A0290F80D93C24698B0 01932F15BB12729689123325D08EFC6A

und erhalte den Fehler:

Provided language „2fbb5fe2e29a4d70aa5854ce7ce3e20b“ is not in list of available languages:

Aber der Verkaufskanal für den Produktvergleich steht auf Deutsch und ich kann die Sprache dort auch nicht ändern. Ich weiß ehrlich nicht, was Shopware hier von mir möchte. Hast du noch etwas herausfinden können damals oder eine Idee?

Liebe Grüße

Hey hesse-wtc,

wofür stehen denn die UUIDs 01932F15BB017A0290F80D93C24698B0 und 01932F15BB12729689123325D08EFC6A? Ich vermute, da ist eine falsche dabei. Hast du schon mal in die Tabelle product_export gekuckt? Mein Tipp:

SELECT
  LOWER(HEX(storefront_sales_channel_id)),
  LOWER(HEX(id))
FROM product_export
WHERE file_name = 'whatever.csv';

Ersetze whatever.csv mit dem Namen deiner Export-Datei, die du erzeugst - oder ändere die komplette WHERE-Klausel entsprechend ab, so dass du als Ergebnis deinen Export erhältst. Die erste Ergebnisspalte (storefront_sales_channel_id) ist dein erster Parameter, die zweite (id), dein zweiter.

Also wenn man sich an der product_export-Tabelle orientiert, müsste es eigentlich korrekt so heißen:

bin/console product-export:generate <storefront-sales-channel-id> <product-export-id>

Hoffe, das hilft dir weiter!

Hallo Kathi, vielen Dank für die Erläuterung. Die IDs standen tatsächlich für die SalesChannelId und die ProductExportId, zumindest hatte ich mir die auch so über die Database rausgesucht.

Eventuell lag es an unserer Shopware-Version, ich konnte es leider nicht ganz nachvollziehen und wir haben es letztlich anders gelöst.

Trotzdem Danke für die hilfreiche Erläuterung, welche ich mir auf jeden Fall für das nächste Mal merken werde.

Liebe Grüße