Ich hätte eine Frage zur Berechnung des Gesamtbetrages in der Datenbank bei Bestellungen:
In der Tabelle “order_s” wird in der Spalte “invoice_amount” der Gesamtbetrag der Bestellung gespeichert.
In der Tabelle “s_order_details” werden in der Spalte “price” die Werte addiert und ergeben den Gesamtbetrag “invoice_amount” der Bestellung
z. B.
"order_s"
ordernumber 20002
invoice_amount: 35
"s_order_details"
ordernumber 20002
articleordernumber: Art1, price: 10
articleordernumber: Art2, price: 20
articleordernumber: XXX, price: 5
(Gesamtbetrag aller Artikel = 35)
Ich muss jetzt folgende Änderung machen:
Artikelnummer XXX, Preis = 5 (variiert von Order zu Order, ist nie gleich) soll nicht in die Berechnung des Gesamtbetrags einfliessen, aber trotzdem auf der Rechnung speziell markiert erscheinen: Artikel XXX muss aber mit dem Wert von 5 in Bestellung/Datenbank mit 5 stehen bleiben:
Wenn Artikelnummer XXX, dann Gesamtbetrag = alle Artikel ausser Artikel XXX, also in dem Beispiel: 30 (10 + 20)
Artikelnummer XXX ist nicht im Shop aktiv, sondern wird immer manuell im Backend (Bestelldetail -> Positionen) einer Bestellung hinzugefügt.
Das ganze scheint in der engine/Shopware/Models/Order/Order.php berechnet zu werden:
$invoiceAmount += $detail->getPrice() * $detail->getQuantity();
Wie muss ich dazu vorgehen?