Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

(Stand 24.01.2022 - noch nicht aktuell)

Wichtige Einstiegspunkte

EinstiegspunktBeschreibung
\Brandbox\ShopCore\Shop\Checkout\Manager::getCartEntitiesLiefert alle CartEntities zurück, welche über \Brandbox\ShopCore\Shop\Checkout\lib\event\OnPopulateCartEntities hinzugefügt werden.
Die Filterung der Einträge geschieht dann über die Mitgabe der richtigen \Brandbox\ShopCore\Shop\Checkout\lib\Struct\CartContextAbstract Kontextklasse. Zum Beispiel fügt der Shop eine Entität nur hinzu, wenn zum Beispiel der Kontext \Brandbox\ShopCore\Shop\Checkout\lib\Struct\CartContextSessionBasket mitgegeben wurde.




Eine CartEntity definieren

...

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. In OnPopulateCartEntities  sollte immer der mitgegebene $context geprüft werden. Wenn die Entität zum Beispiel nur auf der Merkliste dargestellt werden sollt, muss geprüft werden, dass der Kontext \Brandbox\ShopCore\Shop\Checkout\lib\Struct\CartContextSessionWishlist entspricht.

Meistens ist er auch sinnvoll eine eigene Kontextklasse zu definieren. Diese sollte dann von \Brandbox\ShopCore\Shop\Checkout\lib\Struct\CartContextAbstract ableiten und Checkout\Manager::getCartEntities mitgegeben werden. Das ist notwendig, wenn nur Entitäten dieses Typs zurückgeliefert werden sollen. Auch notwendig ist es, auf diesen Kontext in OnPopulateCartEntities  zu reagieren.