Hey, ich bin gerade dabei ein Plugin zuschreiben, welches den Ablauf des Bestellprozesses beeinflusst. Hierbei wird der Inhalt des Warenkorb beim „Zur Kasse gehen“ überprüft. Sofern dabei Änderungen am Inhalt des Warenkorbes vorgenommen werden, soll der User zurück zum Warenkorb geleitet werden und darüber infomiert werden, dass dieser verändert wurde. Von der Business Logic her funktioniert alles wunderbar, allerdings macht das Anzeigen der Veränderungen Probleme, da ich es nicht schaffe die Informationen von der einen Action in die andere zu bekommen. Mithilfe von Session funktioniert es nicht (liegt am redirect), get möchte ich nicht benutzen und eine andere Möglichkeit fällt mir nicht ein. In diesem Bereich liegt das Problem: $hook = $this-\>createEvent('Shopware\_Controllers\_Frontend\_Checkout::confirmAction::before', 'onConfirm'); $this-\>subscribeEvent($hook); . . . public function onConfirm(Enlight\_Hook\_HookArgs $args) { Shopware()-\>Session()-\>bspMessage = 'Meine Nachricht'; $args-\>getSubject()-\>redirect('/shopware/checkout/cart'); }
$event = $this-\>createEvent('Enlight\_Controller\_Action\_PreDispatch\_Frontend\_Checkout', 'onPreDispatch'); $this-\>subscribeEvent($event); . . . public function onPreDispatch(Enlight\_Hook\_HookArgs $args) { $this-\>log(Shopware()-\>Session()-\>bspMessage); }
Niemand eine Idee?
versuch mal dies start dem redirect return $this-\>forward('cart', 'checkout', null, null);