Zugriff auf Basket oder Order in checkout/finish

Hallo, ich muss im Bestellprozess im cart_footer unterhalb der Versandkosten eine Versicherungsberechnung anhand der Warensumme einblenden. Das funktioniert schon über alle Bestellschritte. Ich hole mir die Warenkorbwerte im Plugin über “$basket = Shopware()->Modules()->Basket()->sGetBasket();”, mache die Berechnung und binde das Ergebnis dann im Template ein. Nur in der checkout_finish steht der Warenkorb nicht mehr zur Verfügung. Der Debugger zeigt mir keine direkt greifbare Variable mit dem Warenwert. Aktuell bindet sich das Plugin an das Enlight_Controller_Action_PostDispatch_Frontend_Checkout-Event. Gibt es dort einen analogen sGetOrder-Aufruf oder eine Möglichkeit noch auf den Warenkorb zuzugreifen? Gruß Mario

Habe es jetzt mittels „$basket = $view->getAssign(‚sBasket‘)“ gelöst. Bin mir aber nicht sicher, ob das Auslesen der Smarty-Variablen „best pratice“ ist. Bin also für bessere Ideen offen. Gruß Mario

Besonders “schön” ist es nicht. Aber in der finish Action wird (unter anderem) der aktuelle Warenkorb geleert - deswegen gibt sGetBasket() in der postaction auch keine Artikel mehr zurück. Du könntest dich höchstens zusätzlich an die predispatch hängen und den Warenkorb in deinem Plugin zwischen speichern. Viel sauberer ist das aber auch nicht. Viele Grüße

1 „Gefällt mir“