# Preisänderung bei Artikel im Warenkorb

**URL:** <https://forum.shopware.com/t/preisanderung-bei-artikel-im-warenkorb/41667>\
**Category:** Programmierung\
**Created:** [24. November 2016 um 09:32 UTC](https://forum.shopware.com/t/preisanderung-bei-artikel-im-warenkorb/41667 "2016-11-24T09:32:21Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Forever](https://avatars.discourse-cdn.com/v4/letter/f/67e7ee/32.png) [@Forever](https://forum.shopware.com/u/Forever)\
**Post date:** [24. November 2016 um 09:32 UTC](https://forum.shopware.com/t/preisanderung-bei-artikel-im-warenkorb/41667/1 "2016-11-24T09:32:21Z")

</div>

Hallo,

ich entwickel gerade ein 5.2 Plugin, dieses benötigt das die Grundvariante nix kostet …

ABER Leider kann ja Shopware keine 0 Euro Artikel und &nbsp;100% Rabatt via Preisgruppe gilt ja auf den Gesamtpreis

ABER ich hab aufpreispflichtige Optionen diese werden auch korrekt aufgeschlagen

ABER 100% Rabatt vom Gesamtpreis Also wieder bei “Gratis Artikel”

Also wieder weg mit der Preisgruppe und 1-Cent-Artikel&nbsp;anlegen und den dann im Warenkorb abzeihen.

&nbsp;

Also muss ein Plugin her. “Basic Routing” und Artikel via eigenen Ajax-Request in den Warenkorb legen, hab ich auch hinbekommen aber ich komm beim besten willen nicht an eine vernünftige Quelle um die Artikel im Warenkorb erfolgreich zu manipulieren.

Das Forum/Google&nbsp;hilft da auch nicht weiter Entweder 404 Page not found oder die Shopware Version ist so veraltet das weder Events noch “Aufbau” vom Code funktionieren.

Bräuchte nur 2 Hinweise : Auf welches Event müsste ich mich hängen und wie manipuliere ich erfogreich den Preis von den dingern.

ODER gibt es einen einfacheren Weg an den ich nicht gedacht habe das die Grundvariante umsonst ist und es erst mit Varianten optionen aufschläge gibt.

&nbsp;

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![steinsoftware](https://avatars.discourse-cdn.com/v4/letter/s/b487fb/32.png) [@steinsoftware](https://forum.shopware.com/u/steinsoftware)\
**Post date:** [24. November 2016 um 15:57 UTC](https://forum.shopware.com/t/preisanderung-bei-artikel-im-warenkorb/41667/2 "2016-11-24T15:57:05Z")

</div>

Soweit ich weiß kann man nur keine 0-Euro-Artikel im Backend anlegen.

In der Datenbank solltest du den Wert dann jedoch auf 0 setzen können und es sollte alles funktionieren.

Müsstest du jedoch erst einmal testen ob das auch stimmt.

---

<div class="post-metadata">

**Author:** ![Rednaxela](https://avatars.discourse-cdn.com/v4/letter/r/ad7895/32.png) [@Rednaxela](https://forum.shopware.com/u/Rednaxela)\
**Post date:** [24. November 2016 um 16:08 UTC](https://forum.shopware.com/t/preisanderung-bei-artikel-im-warenkorb/41667/3 "2016-11-24T16:08:11Z")

</div>

das sollte funktionieren, aber dann kann man den artikel nicht mehr bearbeiten, weil shopware dann wegen des preises rummault. @Forever‍ schau mal in sBasket, ich habe was ähnliches mit 1-2 hooks auch gemacht

---

<div class="post-metadata">

**Author:** ![d.coder](https://avatars.discourse-cdn.com/v4/letter/d/ed8c4c/32.png) [@d.coder](https://forum.shopware.com/u/d.coder)\
**Post date:** [24. November 2016 um 16:15 UTC](https://forum.shopware.com/t/preisanderung-bei-artikel-im-warenkorb/41667/4 "2016-11-24T16:15:26Z")

</div>

Den Preis in der Datenbank auf 0 setzen bringt nichts. Würde auch ne Exception&nbsp;im Storefront werfen. In dem Kontext müsste man relativ viel Logik ersetzen um da dran zu kommen.

engine/Shopware/Core/sBasket.php

```
if (!$price["price"] && !$article["free"]) {
      // No price could acquired
      throw new Enlight_Exception("BASKET-INSERT #01 No price acquired");
}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![dkamenev](https://avatars.discourse-cdn.com/v4/letter/d/c0e974/32.png) [@dkamenev](https://forum.shopware.com/u/dkamenev)\
**Post date:** [28. November 2016 um 14:11 UTC](https://forum.shopware.com/t/preisanderung-bei-artikel-im-warenkorb/41667/5 "2016-11-28T14:11:50Z")

</div>

- Laut dem Codeschnippsel könnte er in der DB&nbsp;$article[“free”] setzen. Und gucken ob das weiterhilft.

&nbsp;

- Den Preis kannst Du mit einem Hook an diese Stelle überschreiben:

Das würde auch durch den ganzen checkout&nbsp;greifen, allerdings müsste der artikel trotzdem mit mindestens 0,01 cent in der DB vorliegen, damit der obere codeblock nicht greift.

&nbsp;

&nbsp;
