Discount/Rabatt-Betrag ermitteln

Hallo Forumsgemeinschaft,

ich möchte in der oxbasketitem-Klasse den Betrag ermitteln, um den ein Produkt heruntergesetzt ist, egal ob ich den Nachlass prozentual oder fest gebe.

Ich habe schon unzählige Versuche hinter mir, unter anderem z. B.


$oDiscount = oxNew( "oxdiscount" );
var_dump($oDiscount->oxdiscount__oxaddsum->value);

oder


oDiscount = oxNew( "oxdiscount" );
var_dump($oDiscount->getAddSum());

aber ich komme einfach nicht weiter. Hab mir die Klassen-Doku angesehen und auch andere Methoden aufgerufen - doch nichts half.

Hat hier jemand einen Tip für mich?

Habt Dank!!

Hallenser

Hallo Hallenser :slight_smile:

kannst du nicht einfach, den UVP (OXTPRICE) minus den Preis (OXPRICE) rechnen?

Viele Grüße
indianer3c

Guten Morgen indianer3c und danke für die Antwort. Ich hab mich mißverständlich ausgedrückt, mir geht es nicht um die UVP/Normalprei Differenz.

Angenommen ich erstelle mir unter Shopeinstellung/Rabatte einen neuen Rabatt und gebe einer Kathegorie “xyz” 10%. Dann möchte ich berechnen, wie viel Euro diese 10% bei einem Produkt dieser Kathegorie ausmachen. Und wenn ich bei einem Produkt z. B. pauschal 3 Euro Rabatt gebe, möchte ich in oxbasketitem an diesen Wert (3 Euro) kommen.

Grüße aus Halle!

oxprice hat alles, was Du brauchst:

$dPrice = $this->getPrice();
$aDiscounts = $this->getDiscounts();

Danke für den Code. Ich befinde mich in der basketitem Klasse (extended) und habe ein $oPrice Objekt.

Das funktioniert, var_dump gibt den Preis zurück


$dPrice = $oPrice->getPrice();
var_dump($dPrice);

Hier jedoch kommt von var_dump gar nichts zurück ( NULL)


$aDiscount = $oPrice->getDiscounts();
var_dump($aDiscount);

Oder bin ich da auf dem Holzweg?

Hab in der Doku für meine Shopversion 4.8.4 gelesen, dass bis zur 5.0.1 der Discount noch über die Klasse oxdiscount läuft, danach dann über oxprice.

Von der oxbasketitem Klasse aus versuche ich nun, ein oxdiscount Objekt zu erstellen, und dann über die Funktion applyDiscounts herauszufinden, wie hoch der Rabatt konkret ist.

Mein Ansatz:


$oDiscount = oxNew( "oxdiscount" );			
var_dump($oDiscount->applyDiscount($oPrice));

Leider wirft er mich auch hier NULL aus. Muss ich dem oxdiscount objekt noch den Artikel zuweisen?

Geht: Leg mal ein paar Artikel in den Warenkorb und schau ihn Dir an: http://485.foxido.de/