# Individuelle Produktparameter durch den Checkout durchschleifen?

**URL:** https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225
**Category:** Programmierung
**Created:** [27. August 2020 um 22:16 UTC](https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225 "2020-08-27T22:16:22Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![euroxid](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/euroxid/32/15105_2.png) [@euroxid](https://forum.shopware.com/u/euroxid)
#### Post date: [27. August 2020 um 22:16 UTC](https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225/1 "2020-08-27T22:16:22Z")

</div>

Hallo,

&nbsp;

vielleicht hat jemand eine clevere Idee:

Ich habe die buy-widget-form.html.twig der Produktseite so erweitert, dass&nbsp;/checkout/line-item/add neben den üblichen nun auch ein paar custom&nbsp;Formularfelder mitbekommt. Diese sollen&nbsp;danach im Checkout mehrfach sichtbar sein, und letztlich mit erfolgter Order gespeichert werden, damit die WaWi sie da wiederfindet. Die genaue Anzahl und Formatierung der Felder ändert sich je nach Artikel, aber alle Feldnamen sind in einem Array, quasi: $\_REQUEST[lineitem][id][“meinefelder”][feld1…feld9]

Wie würdet ihr die Daten an die LineItems dann hängen?

Ich habe mir bislang den CartProcessor, den CartService und den CartItemAddRoute angeschaut, kann aber noch nicht überblicken, welches die richtige Anlaufstelle wäre. Ideal wäre natürlich, wenn die Daten hinterher “von alleine” in der Order landen - Ich dachte an das Feld Payload oder an das Feld custom\_fields, aber auch da bin ich mir noch nicht sicher.

---

<div class="post-metadata">

### Author: ![oliverriske](https://avatars.discourse-cdn.com/v4/letter/o/ebca7d/32.png) [@oliverriske](https://forum.shopware.com/u/oliverriske)
#### Post date: [28. August 2020 um 08:28 UTC](https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225/2 "2020-08-28T08:28:09Z")

</div>

Das Feld PayLoad ist das richtige

---

<div class="post-metadata">

### Author: ![oliverriske](https://avatars.discourse-cdn.com/v4/letter/o/ebca7d/32.png) [@oliverriske](https://forum.shopware.com/u/oliverriske)
#### Post date: [28. August 2020 um 08:29 UTC](https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225/3 "2020-08-28T08:29:02Z")

</div>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$lineItem-\>setPayloadValue(‚customData‘,&nbsp;$item[‚customData‘]);

---

<div class="post-metadata">

### Author: ![euroxid](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/euroxid/32/15105_2.png) [@euroxid](https://forum.shopware.com/u/euroxid)
#### Post date: [28. August 2020 um 09:15 UTC](https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225/4 "2020-08-28T09:15:20Z")

</div>

Top, danke!

Falls jemand per Google hier landet:

Da kommt man am bequemsten per&nbsp;

```
 class CartItemAddRouteDecorator extends AbstractCartItemAddRoute { funciton add(){...} } 

```

ran, den man noch in **services.xml registriert** mit

```
 [service id="ACME\MeinModul\Service\CartItemAddRouteDecorator" decorates="Shopware\Core\Checkout\Cart\SalesChannel\CartItemAddRoute"] &nbsp; &nbsp; [argument type="service" id="ACME\MeinModul\Service\CartItemAddRouteDecorator.inner" /] [!-- Constructor-Parameter --] &nbsp; &nbsp; [argument type="service" id="Shopware\Core\Checkout\Cart\CartCalculator"/] &nbsp; &nbsp; [argument type="service" id="Shopware\Core\Checkout\Cart\CartPersister"/] &nbsp; &nbsp; [argument type="service" id="event\_dispatcher"/] &nbsp; &nbsp; [argument type="service" id="Shopware\Core\Checkout\Cart\LineItemFactoryRegistry"/] [/service] 

```

&nbsp;

(Eckige durch spitze Klammern ersetzen)

---

<div class="post-metadata">

### Author: ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)
#### Post date: [29. August 2020 um 12:14 UTC](https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225/5 "2020-08-29T12:14:56Z")

</div>

Es gibt extra ein Event dafür&nbsp;[https://github.com/shopware/platform/blob/master/src/Core/Checkout/Cart/Event/LineItemAddedEvent.php#L10](https://github.com/shopware/platform/blob/master/src/Core/Checkout/Cart/Event/LineItemAddedEvent.php#L10)

---

<div class="post-metadata">

### Author: ![WernerBu](https://avatars.discourse-cdn.com/v4/letter/w/71c47a/32.png) [@WernerBu](https://forum.shopware.com/u/WernerBu)
#### Post date: [2. September 2020 um 06:13 UTC](https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225/6 "2020-09-02T06:13:28Z")

</div>

Hallo Euroxid,

versuche eigentlich dasselbe zu programmieren, also zusätzliche Custom LineItem, die der Kunde auswählen kann,

dem Warenkorb hinzuzufügen. Frage mich, welche die beste Lösung ist?

Mit dem LineItemAddedEvent kann ich nicht viel anfangen, da die ja für jede LineItem getrennt ausgelöst werden und ich

das eigentliche Produkt zusammen mit den Custom Eigenschaften in einer LineItemCollection dem Warenkorb hinzufügen will.

Das Plugin Custom Products von Shopware selbst macht es sich ja relativ einfach, die ersetzen einfach die eigentlich Route

in buy-widget-form.html.twig durch ihre eigene auf den eigenen Controller.

Kann ich natürlich auch machen, nur brauchen wir dieses Custom Products Plugin eigentlich auch für manche Produkte,

insofern beisst sich das leider wieder. Außerdem könnte sich dann auch wieder mit anderen Plugins beißen.

Insofern die Frage:

Hast Du dann wirklich den Decorator benutzt oder das LineItemAddedEvent, wenn ja wie?

Oder falls jemand einen Tip hat, welche die beste Lösung ist, bin ich sehr, sehr dankbar.

Danke und Gruß,

Werner.

---

<div class="post-metadata">

### Author: ![lhairman](https://avatars.discourse-cdn.com/v4/letter/l/cdc98d/32.png) [@lhairman](https://forum.shopware.com/u/lhairman)
#### Post date: [12. Dezember 2020 um 10:40 UTC](https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225/7 "2020-12-12T10:40:11Z")

</div>

Hallo!

Stehe vor der gleichen Herausforderung und möchte ein Eingabefeld auf der Produktdetailseite haben und dies dann als customData zum LineItem speichern.

Hat jemand eine gute Lösung gefunden?

Ich habe die Version von&nbsp;[euroxid](https://forum.shopware.com/profile/22870/euroxid)&nbsp;versucht, komme aber leider nicht weiter damit.

Danke und Grüße!&nbsp;

---

<div class="post-metadata">

### Author: ![lhairman](https://avatars.discourse-cdn.com/v4/letter/l/cdc98d/32.png) [@lhairman](https://forum.shopware.com/u/lhairman)
#### Post date: [12. Dezember 2020 um 13:00 UTC](https://forum.shopware.com/t/individuelle-produktparameter-durch-den-checkout-durchschleifen/69225/8 "2020-12-12T13:00:19Z")

</div>

Mit folgender Lösung bin ich weitergekommen:

> **[LineItemAddedEvent und eigene Payloads](https://forum.shopware.com/discussion/71907/lineitemaddedevent-und-eigene-payloads)**
>
> Moin, ist es möglich über ein LineItemAddedEvent den Payload des betroffenen LiteItems zu ändern (Bevor das LineItem in den Warenkorbe kommt)? Wäre es möglich in dem Event an den RequestDataBag zu gelangen? Ist ein persist des Warenkorbes in...
