Plugin Entwicklung - Probleme mit Mehrsprachigkeit

Hallo zusammen,

ich habe ein Plugin entwickelt, welches eigentlich hauptsächlich Inhalt auf eigenen Routen darstellen soll. Das funktioniert auch alles super, allerdings habe ich 2 große Probleme mit der Mehrsprachigkeit.

Das größere Problem besteht darin, dass die aktuell gewählte Sprache nicht mit an weitere Routen (in meinem Plugin) gegeben wird. Ich hinterlege in meinen templates den Link zu den Seiten folgendermaßen:

href=„{{ path(‚my_custom_route‘) }}“

Wenn ich also jetzt auf der Startseite meines Plugins die Sprache wechsle und auf den Link klicke, bin ich wieder auf der Standardsprache. Wenn ich die Dokumentation und Forum-Beiträge richtig verstanden habe, müsste das anhand von dem SalesChannelContext (den ich in sämtlichen Actions mitgebe) eigentlich automatisch funktionieren.

Zweites Problem besteht mit der spanischen Sprache. Ich habe für jede Sprache eine eigene JSON File im snippet Ordner und die Übersetzungen greifen auch in Deutsch & Englisch, aber nicht in Spanisch. Wenn ich die App Locale ausgebe bekomme ich im spanischen komischerweise „en-GB“ zurück. Im SalesChannelContext wird spanisch richtig erkannt.

Vermutlich ist bei den Spracheinstellungen etwas falsch konfiguriert. Der Shop ist nicht von mir erstellt, aber mir ist jetzt bei den Spracheinstellungen und im Verkaufskanal nichts aufgefallen, was die Probleme verursachen könnte. Vielleicht habt ihr ja eine Idee, woran das liegt. Ich habe hierzu leider nichts im Forum gefunden.

Vielen Dank schonmal im voraus.

Das Problem ist schon so alt wie Shopware 6 selbst und wurde nie gelöst. Weil es im Core aus unerklärlichen Gründen doch funktioniert.

Ich habe mich damit abgefunden und nutze anstatt path() seoUrl()!

VG

2 „Gefällt mir“

Das funktioniert wunderbar, dankeschön :slight_smile:

Dadurch ergibt sich dann aber noch eine weitere Frage: Wie gehe ich mit redirects um? Also wie kann ich bei folgendem Beispiel dafür sorgen, dass die Sprache beibehalten wird:

$this->redirectToRoute('catalog_detail', ['id' => $catalogId, 'dataCount' => $dataCount])

Weiß ich leider nicht, in solchen Fällen übergebe ich die gerenderte URL z.B. via POST an den Controller zum Weiterleiten. Wie ist es mit den Redirects in Shopware selbst?