Hallo, da wir in einem Shop mehrere Währungen zwar anzeigen, aber nicht über den Paymentanbieter abrechnen können (bzw. wollen), versuche ich gerade die Währung im Checkout Prozess per Plugin zu ändern. Wenn ich über den Event $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PreDispatch\_Frontend\_Checkout', 'onPreDispatchCheckout' );
gehe, kann ich zwar per $shop-\>setCurrency($currency); Shopware()-\>Modules()-\>Basket()-\>sRefreshBasket();
die Währung laut Debug Ausgabe umstellen, aber ich habe das Gefühl, da ist das Rendering schon gelaufen. Auch wird das currency Cookie nicht aktualisiert. Hat jemand einen Tipp für mich, wie man da heran gehen sollte?
Ich hab gerade den Code nicht da, aber ich vermute: Das Rendering kommt danach - und überschreibt daher deine Einstellungen. Versuch es mal mit dem Post-Dispatch. Und beachte auch diesen Pull Request: https://github.com/ShopwareAG/shopware-4/pull/58
Leider scheint das nicht zu reichen. Im PostDispatch ist auch die von mir vorher gesetzte Währung immer noch aktiv, das Rendering muss dann wohl wo anders geschehen. D.h. die Währung muss an höherer Stelle gesetzt werden, oder verstehe ich hier etwas falsch?