Rabattanzeige im Warenkorb pro Artikel

Wisst ihr eine Möglichkeit, wie man bei der Verwendung eines prozentualen Rabattcodes im Warenkorb pro Artikel anzeigen kann, wieviel der Rabatt jeweils ausmacht?

Normalerweise rechnet der Shop ja jeweils von der Gesamtsumme runter, wenn ich mich nicht irre…

oxBasket.getDiscountProductsPrice() war vielversprechend, gibt mir das aber nicht aus.

nicht direkt, da es auch mehrere Rabatte geben kann oder gar keine, wenn diese auif der Produktebene anderen Artikeln zugeordnet sind.
Was man machen kann: die Differenz zwischen dem Preis im oxarticle__oxprice Feld und dem endgültig vom Shop berechneten Preis im Warenkorb ausrechnen.

Das Berechnen eines Rabatts geschieht über oxprice::calculateDiscount(). Hier kannst für abs oder % jeweils die Ersparnis berechnen lassen.

Vielen Dank für eure Antworten.

Was man machen kann: die Differenz zwischen dem Preis im oxarticle__oxprice Feld und dem endgültig vom Shop berechneten Preis im Warenkorb ausrechnen.

Der Shop berechnet ja keinen endgültigen Preis oder sehe ich das falsch? Der endgültig berechnete Rabatt wird ja dann nur als zusätzliche Minusposition in der Bestellung gespeichert.

Das Berechnen eines Rabatts geschieht über oxprice::calculateDiscount(). Hier kannst für abs oder % jeweils die Ersparnis berechnen lassen.

Vielleicht kann ich dann einfach bei jedem Artikel die Voucher laden und entsprechend für jeden Artikel die die prozentualen Rabatte einrechnen.

Genau so würde ich es machen: Variable anlegen (z.B. protected $_discprice;), Rabatt bei abs entnehmen oder bei % berechnen lassen…

if ($aDiscount['type'] == 'abs') {
                    $dPrice = $dPrice - $aDiscount['value'];
					$this->_discprice = $aDiscount['value'];
                } else {
                    $dPrice = $dPrice * (100 - $aDiscount['value']) / 100;
					$this->_discprice = "BERECHNUNG EINFÜGEN";
                }

Methode anlegen und Variable darüber ausgeben. Feddisch.

1 Like

Danke. Werde das ausprobieren.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.