# Artikelpreis in warenkorb ändern

**URL:** <https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [17. Januar 2013 um 22:57 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043 "2013-01-17T22:57:11Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)\
**Post date:** [17. Januar 2013 um 22:57 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043/1 "2013-01-17T22:57:11Z")

</div>

Hi, ist es möglich den Artikelpreis im Warenkorb zu manipulieren? Hintergrund: Ich möchte den Preis abhängig von Zusatzoptionen neu berechnen. Die Zusatzoptionen soll im listing eingestellt werden und der Artikel dann direkt in den warenkorb gelegt werden können. Hierzu bräuchte ich auch noch das richtige Event für addArticle… Vielen dank für eure Anregungen.

---

<div class="post-metadata">

**Author:** ![vc-nm](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/vc-nm/32/8114_2.png) [@vc-nm](https://forum.shopware.com/u/vc-nm)\
**Post date:** [21. August 2013 um 18:03 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043/2 "2013-08-21T18:03:36Z")

</div>

Gibt es hierzu mittlerweile eine Lösung?

---

<div class="post-metadata">

**Author:** ![shredding](https://avatars.discourse-cdn.com/v4/letter/s/8797f3/32.png) [@shredding](https://forum.shopware.com/u/shredding)\
**Post date:** [21. August 2013 um 22:44 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043/3 "2013-08-21T22:44:16Z")

</div>

Der Warenkorb wird in Shopware über die Session verwaltet. Wenn der Artikelpreis in der manipuliert wird, passt es. Ist ein bisschen hakelig, aber so pushen wir bei elefunds einen Artikel mit variablem Preis in den Warenkorb: [https://github.com/elefunds/elefunds-Sh … t.php#L115](https://github.com/elefunds/elefunds-Shopware/blob/master/Events/PreDispatchCheckoutEvent.php#L115)

---

<div class="post-metadata">

**Author:** ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)\
**Post date:** [22. August 2013 um 08:17 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043/4 "2013-08-22T08:17:07Z")

</div>

hi, ich erinnere mich nicht mehr genau an das Problem, das da damals vorlag aber ist es nicht so, das der Artikelpreis immer wieder aus der Datenbank geholt wird? Ich hatte damals versucht den Artikelpreis, manipuliert in den Warenkorb zu schieben. Das hatte auch geklappt, nur wurde am Ende immer wieder der Original Artikelpreis aus der DB geholt. Ich müsste mir das noch mal genauer ansehen, bedarf an einer Lösung besteht noch.

---

<div class="post-metadata">

**Author:** ![pino](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/pino/32/14373_2.png) [@pino](https://forum.shopware.com/u/pino)\
**Post date:** [22. August 2013 um 10:55 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043/5 "2013-08-22T10:55:13Z")

</div>

hier der inhalt vom warenkorb per hook ` $this-\>subscribeEvent( 'sBasket::sGetBasket::after', 'onBasket' ); ` artikel bearbeiten (ungetestet) ` public function onBasket(Enlight\_Hook\_HookArgs $args) { $article = $args-\>getReturn(); foreach($article['content'] as $aK =\> $aV){ $newPrice = $aV['priceNumeric']\*2; $article['content'][$aK]['price'] = Shopware()-\>Modules()-\>Articles()-\>sCalculatingPrice($newPrice, $aV["tax"], $aV["taxID"], $aV); $article['content'][$aK]["priceNumeric"] = floatval(str\_replace(",", ".", $article['content'][$aK]['price'])); ... } $args-\>setReturn($article); } `

---

<div class="post-metadata">

**Author:** ![vc-nm](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/vc-nm/32/8114_2.png) [@vc-nm](https://forum.shopware.com/u/vc-nm)\
**Post date:** [22. August 2013 um 11:40 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043/6 "2013-08-22T11:40:30Z")

</div>

[quote=“shredding”][https://github.com/elefunds/elefunds-Shopware/blob/master/Events/PreDispatchCheckoutEvent.php#L115[/quote]](https://github.com/elefunds/elefunds-Shopware/blob/master/Events/PreDispatchCheckoutEvent.php#L115%5B/quote%5D) Danke erstmal hierfür. Das hab ich mir gestern Abend schonmal angesehen und etwas herumprobiert. Plugin geschrieben - Enlight\_Controller\_Action\_PreDispatch\_Frontend\_Checkout bei der Installation angelegt - in der Funktion selbst sBasket abgeholt und genau wie Du in deinem Code den Wert verändert und zurück in die Session geschrieben Im der Warenkorbansicht hat er keinen Mucks gemacht, obwohl in der Session sogar der neue Wert stand. Wurde die Bestellung abgesendet, war der Warenkorbwert bzw. die Bestellsumme tatsächlich auf 0. Allerdings brauche ich die Veränderung ja schon sichtbar für den Kunden im WK. Des weiteren hat er mir dadurch im Backend die Bestellübersicht zerhauen - die ist jetzt leer. Warum weiß ich aktuell noch nicht. :thumbdown:

---

<div class="post-metadata">

**Author:** ![pino](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/pino/32/14373_2.png) [@pino](https://forum.shopware.com/u/pino)\
**Post date:** [22. August 2013 um 11:58 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043/7 "2013-08-22T11:58:24Z")

</div>

ich versteh das mit der session nicht. warum sollte das system den warenkorb in eine session schreiben. es werden ggf. die artikel-ids festgehalten aber bestimmt nicht der atikel selbst. probier mal den hook. es wird dir der gesamte warenkorb zurück gegeben, den du durchgehen und manipulieren kannst.

---

<div class="post-metadata">

**Author:** ![vc-nm](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/vc-nm/32/8114_2.png) [@vc-nm](https://forum.shopware.com/u/vc-nm)\
**Post date:** [22. August 2013 um 12:04 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043/8 "2013-08-22T12:04:25Z")

</div>

Werde ich heute mal probieren - bin ich aber noch nicht dazu gekommen - der Post hat sich lediglich auf meine Erfahrungen von gestern bezogen 🙂

---

<div class="post-metadata">

**Author:** ![natelo](https://avatars.discourse-cdn.com/v4/letter/n/f07891/32.png) [@natelo](https://forum.shopware.com/u/natelo)\
**Post date:** [2. August 2016 um 21:45 UTC](https://forum.shopware.com/t/artikelpreis-in-warenkorb-andern/11043/9 "2016-08-02T21:45:50Z")

</div>

Hallo Leute&nbsp;

Da die letzte Diskussion zu diesem Thema doch sehr abrupt beendet wurde&nbsp;und ja „offiziell“ auch noch keine Lösung kommuniziert wurde, dachte ich, dass ich dieses Thema noch einmal aufrolle, weil es für mich auch noch im Jahre 2016 sehr aktuell ist.

Und zwar gibt es bei meinem Shop drei Kategorien. Artikel der ersten Kategorie sind ganz normale Shopartikel. Produkte der zweiten und dritten Kategorie bieten wir nur mit monatlicher Ratenzahlung an. Heisst also, dass in der Detailseite der monatliche Preis des jeweiligen Produktes stehen und das Checkout anschliessend mit 0.00 durchgeführt werden soll, weil man ja heute nichts zahlt, sondern erst im Nachhinein mit entsprechendem Ratenvertrag.

Programmiertechnisch habe ich mir das so vorgestellt, dass man im Backend den monatlichen Preis für den Artikel einträgt und der Code beim Checkout prüft, ob der Artikel von der zweiten oder dritten Kategorie stammt (kann ja anhand der Artikelnummer hergeleitet werden) und wenn ja, dass es dann den Preis für das Checkout automatisch auf 0.00 setzt.&nbsp;

Ich weiss, liebe Community, mein Vorhaben klingt ein wenig verrückt. Doch die ganze Ratenzahlung-Thematik kann leider unmöglich umgangen werden. Ich würde mich extrem freuen, wenn sich irgendjemand da draussen die Zeit nehmen würde, um mir ein wenig auf die Sprünge zu helfen. Sei es jetzt nun per Hook, elefunds (oben geposteter Github-Link) oder mit einem anderen Input. 😌
