Abfrage der aktuellen Sprache im Plugin

Hallo zusammen,

ich bin gerade dabei ein Plugin zu programmieren, bei dem ich anhand der aktuellen Sprache jeweils die entsprechende CSV-Datei laden möchte.
Leider finde ich keine passende Abfrage, um im Plugin die aktuelle Sprache herauszufinden. Es geht nicht um das Smarty-Template, sondern die Abfrage im Plugin direkt.

Es wäre nett, wenn mir jemand die passende Abfrage / Variable posten könnte.

Vielen Dank!

Hallo sangrios,

also in Events wie bspw. “Enlight_Controller_Action_PostDispatchSecure_Frontend” bekommst du die aktuelle Sprache recht einfach über 

Shopware()->Shop()->getLocale()->getLocale()

 

Hallo @sangrios‍,

 

probiere mal

Shopware()->Shop()->getLocale()->getLocale()

Das wird die aktuele locale_code ‚de_DE‘, ‚en_GB‘  …  zurückkehren.

VG,

Tel.: +49 755 - 183 990 00 | Web: http://enbit.de/

Oder besser: $contextService->getShopContext()->getShop()->getLocale() :wink:

Viele Grüße
https://www.digitvision.de/

1 „Gefällt mir“

Hallo @EikeWarneke‍,

aus purem Interesse:
Wieso ist 

$contextService->getShopContext()->getShop()->getLocale()

besser als

Shopware()->Shop()->getLocale()->getLocale()

?

Ich mein Shopware() gibt bloß ein statisches, bereits initialisiertes Objekt zurück und Shop() lädt im Prinzip au nix neues (da im Frontend der Shop ja bereits geladen sein sollte^^). Das heißt das Ganze zeigt bloß auf einen bereits vorhandenen Wert…

1 „Gefällt mir“

Während der Entwickler möchte man keine globalen Methoden nutzen um etwas zu bekommen. Deshalb injectet man sich immer die Services die man braucht in den Subscriber. Und Shopware()->Shop() lässt sich nicht injecten

2 „Gefällt mir“