Beispielsweise, wie hier in diesem Fall, ein eigenes Wunschlieferdatum, welches zu jeder Produktposition hinterlegt werden kann.
Wie ist der grundsätzliche Ansatz? Ich hätte da zwei Gedanken:
Sollte man den Controller CartLineItemController.php anpassen bzw. überschreiben und dort die zusätzlichen Informationen von der Detailseite mit einarbeiten.
Oder macht man eher einen Subscriber, der auf das AfterLineItemAddedEvent anspringt und dann den PayLoad für das LineItem um die gewünschte Information erweitert? Wie kommt man in diesem Fall an die Daten aus den zusätzlichen Eingabefeldern auf der Detailseite?
Was wäre der korrekte Weg, um die Warenkorb-Payloads zu erweitern? Hat jemand eventuell ein ähnliches Beispiel?
Shopware Standard controller actions zu überschreiben hat natürlich oft sehr weitreichende Folgen. Am sinnvollsten (und am wenigstens invasiv) wäre wahrscheinlich das AfterLineItem event. Da kannst du über den request_stack auf den request und auf das Formular zugreifen. Da sollten dann deine Infos drin stehen, die du ins payload des line items packen kannst.
Aber beachte: ein Standard Shopware product kann nur 1x im Warenkorb liegen. Das heißt, dass du den Parameter isMerged prüfen musst und dass dein Kunde nicht 2x das gleiche Produkt mit unterschiedlichen Eingaben im Warenkorb haben kann.