Hallo zusammen,
was ist der beste Weg, um in Shopware 6 beim Hinzufügen eines Artikels in den Warenkorb zu testen, ob es sich um einen bereits im Warenkorb befindlichen Artikel handelt oder ob es ein neuer ist? In Shopware 5 konnte das per Subscription auf Shopware_Modules_Basket_AddArticle_CheckBasketForArticle gelöst werden.
Oder muss ich das manuell machen z.B. mit LineItemAddedEvent, dort prüfen und dann ggf. ein weiteres LineItem einfügen? Falls ja, wie erzeuge ich dann eine ID für das neue LineItem?
Danke.
Viele Grüße
Daniel
Hey,
hier: https://github.com/shopware/platform/tree/fb4bc791e185512bfde8cd0ea462b0cf527cf82f/src/Core/Checkout/Cart/Event
Im Basis Controller ist jedoch die LineItem-ID = die Produkt-ID wenn mich nicht alles täuscht, um das selbe Produkt mehrmals in den WK zu legen müsste man einen eigenen Controller schreiben, welches eine Random-ID für das LineItem hinterlegt.
Die Bestellungübersicht im Backend ist da auch falsch, man kann dort das Produkt anzeigen lassen, für den Router wird jedoch die LineItem-ID und nicht die Reference-ID verwendet. Bin aber imo zu beschäftigt um Bugs zu melden.
Hi Moorleiche, danke.
Was meinst du mit dem Github-Link? Das Event kannte ich schon, siehe meinen zweiten Absatz
LineItem-ID = die Produkt-ID - das ist interessant, so funktioniert das also. Hast du noch einen Tipp, wie so eine Random-ID dann erzeugt werden kann?
https://github.com/shopware/platform/blob/fb4bc791e185512bfde8cd0ea462b0cf527cf82f/src/Storefront/Controller/CartLineItemController.php#L251
Hier die ID-Ändern.
https://github.com/shopware/platform/blob/6.1/src/Storefront/Resources/views/storefront/page/product-detail/buy-widget-form.html.twig#L44
Wahrscheinlich der einfachere Weg -> das Produkt über ein Freitextfeld als stackable
markieren. Für die markierten Produkte das Template hier ändern:
zu
weiß nicht ob md5(date()) im Twig geht, aber hier muss auf jeden Fall ein random Hash rein, keine Produkt-ID
1 „Gefällt mir“
In Ordnung, danke. Das wird probiert.