Hallo zusammen,
Ich hatte das Problem, dass Gutscheincodes ohne Fehlermeldung „verpuffen“.
Kein Eintrag im WK, keine Preisänderung.
Also bin ich auf die Suche gegangen und habe geprüft, wo denn der Gutschein verloren geht. Dabei habe ich folgende Stelle gefunden:
vendor\shopware\core\Checkout\Promotion\Cart\Discount\ScopePackager\CartScopeDiscountPackager.php
$allItems = $cart->getLineItems()->filter(function (LineItem $lineItem) {
return $lineItem->getType() === LineItem::PRODUCT_LINE_ITEM_TYPE && $lineItem->isStackable(); });
In meinem Fall ist $allItems leer, denn meine Produkte (https://www.labelyourstyle.com/) kommen personalisiert in den WK und sind deshalb $lineItem->isStackable() === false.
Und wenn $allItems leer ist, dann verpufft auch der Code einfach.
Jetzt meine Frage: Wieso muss ein Artikel unbedingt isStackable sein, damit ein Gutscheincode greifen kann? Ich würde das jetzt einfach mal rauswerfen, denn zu Weihnachten gehen Gutscheine besonders gut, oder spricht da etwas dagegen? (Außer Update etc, das ist mir bewusst)
Grüße
Patrick Kalka | https://www.seriousByte.de