aki7773
25. Februar 2016 um 09:52
1
Hallo zusammen,
für ein Modul brauche ich das Event wenn man im Warenkorb ist und
wenn man auf der Bestellabschluss Seite ist.
Ich dachte damit würde es gehen.
$this->subscribeEvent(
'Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout',
'onBasket'
);
$this->subscribeEvent(
'Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout_Finish',
'onFinish'
);
Leider reagiert Shopware nur auf das erste Event (onBasket) und nicht auf das zweite.
Hat jemand einen Tipp für mich ?
Vielen Dank im vorraus.
aki7773
25. Februar 2016 um 10:13
2
Ich habe das nun so gelöst. Vielleicht weiss jemand eine bessere Lösung.
public function onBasket(Enlight_Event_EventArgs $args)
{
$controller = $args->getSubject();
$view = $controller->View();
$request = $controller->Request();
$action = $request->getActionName();
if ($action !== "finish") {
//other checkoutsites
}else{
//finish site
}
Hi,
du kannst dich auf diesem Weg nicht direkt auf eine Action-Registrierung. Dafür gibt es andere Events - von denen wir aber eher abraten. Von daher: Subscribe-Event auf den Controller und im Callback auf die Action prüfen ist durchaus in Ordnung.
Schönen Gruß,
Daniel
1 „Gefällt mir“