Statische Variable im SW6 Plugin

Hallo zusammen. Der Umstieg von Shopware 5 auf 6 fällt mir schwer. In meinem Plugin möchte ich einen „virtuellen Warenkorb“ anlegen. Dazu ist eine Klasse definiert und als Service verfügbar. U.a. ist eine Methode „AddItem“ definiert, die den Warenkorb um einen Artikel erweitert.
Das Problem ist, dass die Klasse nach jedem Controlleraufruf neu erzeugt wird (Konstruktor wird aufgerufen), so dass der virtuelle Warenkorb immer leer ist. Die Klasse sollte aber statisch sein.
Wird ein Controller bei jedem Aufruf neu initialisiert? Welche Möglichkeit gibt es, eine Variable statisch anzulegen?

Für dein Vorhaben verwendest du das Cart Entity? Solange die Entity gespeichert und nicht gelöscht wird, kannst du den Cart anhand des Tokens oder ähnliches wieder laden.

Es soll ein Cart angelegt werden, der nur temporär zusammengestellt wird, solange man auf der Produktdetailseite ist. Beim „in den Warenkorb“ erst wird dieser virtuelle Warenkorb in den „echten“ kopiert (also eine Art Konfigurator, muss leider etwas spezieller sein, da einige Kombinationen verhindert werden müssen). Das einfachste war, eine Klasse zu definieren und entsprechende Methoden zu implementieren.
Problem ist, dass der Klassenkonstruktor bei jedem Controlleraufruf (Reaktion auf ein Button) aufgerufen wird …
Dachte, eventuell diesen Cart in einer Sessionvariable zu speichern, aber komme da nicht klar.

Sind denn mehrere Cart Entities möglich?

Ich bin der Meinung, dass man mehrere Cart Entities anlegen kann. In einigen Plugins erzeuge/verwende ich mehrere Cart Objects und habe zur Zeit keine Probleme.

Dein Problem wird wahrscheinlich sein, dass du jedesmal ein neues Cart Object erstellst?

Ich würde empfehlen den Cart zu persistieren und beim nächsten Gebrauch zu laden oder ggf. ein neues zu erstellen.