Events
Die Benennung innerhalb der Events orientiert sich an folgender Terminologie.
Begriff | Beschreibung |
---|---|
Cart(-Entity) | Ist eine Entität, die sich im Bestellprozess befindet. |
Basket(-Entity) | Ist eine CartEntity welche im Warenkorb dargestellt werden soll |
Wishlist(-Entity) | Ist eine CartEntity welche auf der Merkliste dargestellt werden soll |
Übersicht
(Stand 24.01.2022 - noch nicht aktuell)
Eine CartEntity definieren
Es ist in bestimmten Fällen sinnvoll eine eigene CartEntity zu definieren. Hauptsächlich ist das wichtig, wenn man nicht direkt mit einem shopSessionArtikel arbeitet und dennoch einen Eintrag im Warenkorb / Merkliste / etc. , und dessen Eventstrucktur, haben möchte.
Um eine CartEntity zu definieren, muss man eine Klasse definieren, welche das Interface \Brandbox\ShopCore\Shop\Checkout\lib\Struct\CartEntityInterface
implementiert. Idealerweise leitet diese Klasse dann auch von \Brandbox\ShopCore\Shop\Checkout\lib\Struct\CartEntityAbstract
ab, um zukünftige Änderungen am Interface leichter vom Produkt migriert zu bekommen.
Zusätzlich sollte diese Entität dann über das Event \Brandbox\ShopCore\Shop\Checkout\lib\event\OnPopulateCartEntities
zu den $entities
hinzugefügt werden. Danach kann diese Entität, zusammen mit anderen Arten, über \Brandbox\ShopCore\Shop\Checkout\Manager::getCartEntities
abgerufen werden.