subscribeEvent

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.

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 Like