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);
}
}