Warenkorb Amount mit einmaligen Aufschlag beeinflussen

Hallo zusammen,

wir möchten einen Artikel anbieten, der einen einmaligen Preisaufschlag beim Kauf erhält. Shopware bietet Aufschläge an, aber leider werden diese pro Stück mulitpliziert, d.h. Aritkel kostet 3 Euro (Aufschlag 4 Euro) = > Shopware bei 3 Artikel im Warenkorb = > 3* (3+4) = 21 Euro. Wir würden aber gerne 3*3 (+4) = 13 Euro ausweisen.

Mein erster Ansatz ist mit einem Plugin ( Buch von Daniel Nögel ) mit einem After Hook den Rückgabewert im Warenkorb zu beeinflussen. D.h. ist der Artikel ein Aufschlagartikel(Freitextfeld attr8), dann schreibe mir das vor die Artikelbezeichnung. Klappt soweit super. Nun meine Frage: wie kann ich den Betrag(sBasket.content.0.Amount) holen und einen einmaligen Aufschlag dazurechnen?

Geht das überhaupt so ohne weiteres? Anbei der Code -->

 'onAfterGetBasket'
        ];
    }

    public function onAfterGetBasket(\Enlight_Hook_HookArgs $args)
    {
        $return = $args->getReturn();

        foreach ($return['content'] as $key => $lineItem) {
            if ($lineItem['additional_details']['attr8'] == "true") {
                $return['content'][$key]['articlename'] = '!Aufschlagartikel! ' . $lineItem['articlename'] ;            
            }
        }
        $args->setReturn($return);
    }
}

 

 

 

 

 

 

Niemand ne Hilfestellung parat?