# Artikel vom Warenkorbrabatt ausschließen

**URL:** <https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515>\
**Category:** Shopware 3.5\
**Tags:** general\
**Created:** [22. Januar 2011 um 16:46 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515 "2011-01-22T16:46:29Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![FrankBartsch](https://avatars.discourse-cdn.com/v4/letter/f/e0b2c6/32.png) [@FrankBartsch](https://forum.shopware.com/u/FrankBartsch)\
**Post date:** [22. Januar 2011 um 16:46 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/1 "2011-01-22T16:46:29Z")

</div>

Wie kann mann zum beispiel Bücher( nicht rabattierfähige Artikel) vom Warenkorbrabatt ausschließen ? Hat jemand eine Idee ???

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [22. Januar 2011 um 17:42 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/2 "2011-01-22T17:42:49Z")

</div>

Ich hatte da schon eine ähnliche Frage, möchte nämlich Liveshopping Artikel und Bundles von Gutscheinen und Warenkorbrabatten sowie Prämienartikeln ausschliessen.

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [24. Januar 2011 um 06:41 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/3 "2011-01-24T06:41:09Z")

</div>

Das geht im Moment nicht - du könntest höchstens mit Preisgruppen arbeiten und dort Büchern + anderen Artikeln unterschiedliche Gruppen zu ordnen. Ansonsten sind eure beiden Vorschläge doch guter Input für den “Plugin-Vorschläge” Thread?

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [1. März 2011 um 11:53 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/4 "2011-03-01T11:53:36Z")

</div>

Hey Stefan, wo müßte ich ansetzen, um die Liveshopping und Bundle Artikel von den Gutscheinen auszuschliessen?

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [2. März 2011 um 06:57 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/5 "2011-03-02T06:57:56Z")

</div>

Keiner einen Denkanstoß?

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [2. März 2011 um 07:10 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/6 "2011-03-02T07:10:51Z")

</div>

Das ist nicht so easy - mach doch dafür am besten einen Eintrag auf der Plugin-Wunschliste?[http://www.shopware.de/wiki/Plugin-Back … 9\_483.html](http://www.shopware.de/wiki/Plugin-Backlog_detail_659_483.html)

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [2. März 2011 um 08:49 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/7 "2011-03-02T08:49:54Z")

</div>

Ich welcher Datei wird das Ganze denn berechnet? Habe bis jetzt nicht die passende gefunden.

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [2. März 2011 um 08:52 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/8 "2011-03-02T08:52:43Z")

</div>

sBasket.php - sAddVoucher - ` if (!empty($restrictDiscount) && (!empty($restrictedArticles) || !empty($searchHersteller))){ $amount = $this-\>sGetAmountRestrictedArticles($restrictedArticles,$searchHersteller); }else { $amount = $this-\>sGetAmountArticles(); } ` Du müsstest also eine neue Funktion sGetAmountArticlesVoucherExcludeSpecials anlegen und die statt der Original-Funktion in der AddVoucher aufrufen. ` public function sGetAmountArticlesVoucherExcludeSpecials (){ return $this-\>sSYSTEM-\>sDB\_CONNECTION-\>GetRow("SELECT SUM(quantity\*(floor(price \* 100 + .55)/100)) AS totalAmount FROM s\_order\_basket WHERE sessionID=? AND modus=0 GROUP BY sessionID",array($this-\>sSYSTEM-\>sSESSION\_ID)); } ` Dort die SQL-Query so anpassen, dass Liveshopping und Bundle-Artikel aus der Berechnung des Gesamtwerts für den % Rabatt rausgenommen werden

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [2. März 2011 um 09:10 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/9 "2011-03-02T09:10:28Z")

</div>

Danke Stefan, in der sql Abfrage müssten jetzt nur noch die Liveshoppingartikel und Bundles ausgeschlossen werden? Steht sGetAmountArticles per default nur für die Berechnung der Gutschein Rabatte?

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [2. März 2011 um 09:14 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/10 "2011-03-02T09:14:01Z")

</div>

Nein, das wird von verschiedenen Funktionen benutzt. Deswegen sollst du davon ja eine Kopie / neue Funktion anlegen - damit das keine Seiteneffekte produziert!

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [3. März 2011 um 09:52 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/11 "2011-03-03T09:52:39Z")

</div>

Hi Stefan, also das klappt so schon mal, allerdings wird es mit den Bundles wohl etwas komplizierter, da diese im Warenkorb wieder als einzelne Artikel aufgelistet werden und ich so nicht nach bundleID abfragen kann ☹

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [5. April 2011 um 08:03 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/12 "2011-04-05T08:03:33Z")

</div>

Ich würde mich freuen wenn ich hier noch mal einen kleinen Denkanstoß bekäme, um auch die Bundle Artikel von Gutscheinen ausschliessen zu können. Dann möchte ich bei der Verwendung von Gutscheinen auch keine Prämienartikel anzeigen, wo greife ich da am Besten ein? mfg Frank

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [6. April 2011 um 07:14 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/13 "2011-04-06T07:14:32Z")

</div>

Brauche hier dringend etwas Hilfe, zumindest eine Idee wo ich ansetzen kann. Das mit den Prämienartikeln ausschliessen im Falle eines Gutscheins könnte man doch evtl. auch direkt in der checkout/cart machen, falls ich dort nach Gutscheinen abfragen könnte. Danke

---

<div class="post-metadata">

**Author:** ![Stefan\_Hamann](https://avatars.discourse-cdn.com/v4/letter/s/5e9695/32.png) [@Stefan\_Hamann](https://forum.shopware.com/u/Stefan_Hamann)\
**Post date:** [6. April 2011 um 08:42 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/14 "2011-04-06T08:42:26Z")

</div>

Du kannst doch einfach die FUnktion sMarketing \> sGetPremiums modifizieren - die liest die Prämien-Artikel aus. Dort würde ich einen Hook-After einbauen, der auf Basis der Session-ID prüft, ob ein Gutschein im Warenkorb liegt. Also: ` $rueckgabeOriginalFunktion = $args-\>getReturn(); if (Shopware()-\>Db()-\>fetchOne("SELECT id FROM s\_order\_basket WHERE sessionID = ? AND modus = 2 ",array(session\_id())){ $args-\>setReturn(array()); }else { $args-\>setReturn($rueckgabeOriginalFunktion); } ` Wenn also ein Gutschein im Warenkorb liegt, werden einfach keine Prämien-Artikel zurückgegeben, andernfalls gibt er die Rückgabe der Original-Funktionz urück!

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [6. April 2011 um 09:24 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/15 "2011-04-06T09:24:00Z")

</div>

Danke Stefan, das werde ich gleich umsetzen. :thumbup:

---

<div class="post-metadata">

**Author:** ![Compusoft\_GmbH](https://avatars.discourse-cdn.com/v4/letter/c/87869e/32.png) [@Compusoft\_GmbH](https://forum.shopware.com/u/Compusoft_GmbH)\
**Post date:** [6. April 2011 um 09:56 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/16 "2011-04-06T09:56:28Z")

</div>

Wäre es nicht besser JEDEM Artikel ein FLAG zu spendieren RABATTFÄHIG JA/NEIN. Dann wäre das doch gelöst, oder? so machen es die WaWi´s ja auch alle und dieses Flag dann entsprechend abzufragen?

---

<div class="post-metadata">

**Author:** ![taaucher](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@taaucher](https://forum.shopware.com/u/taaucher)\
**Post date:** [6. April 2011 um 17:15 UTC](https://forum.shopware.com/t/artikel-vom-warenkorbrabatt-ausschliessen/1515/17 "2011-04-06T17:15:19Z")

</div>

Hallo Torsten, das macht finde ich nicht immer Sinn. Bei mir geht es darum, auf Liveshopping- sowie Bundleartikel keinen weiteren Rabatt (außer 4% Vorkasse) zu gewähren. Die Bundles setzen sich ja aus einzelnen Artikeln zusammen, die einzeln bestellt ja rabattierfähig sind. Und der Liveshoppingartikel hat nach der Aktionszeit ja auch wieder seinen „normalen“ Preis und ist somit wieder Rabatt fähig. mfg Frank
