Das Plugin ändert keine Preise in der Datenbank. Es rechnet den Variantenpreis zur Laufzeit, sobald ein Produkt in einem Verkaufskanal geladen wird, und noch einmal bei der Warenkorb-Berechnung.
| Ort | Auslöser | Wirkung |
|---|---|---|
| Produktanzeige im Verkaufskanal | Event sales_channel.product.loaded |
Der berechnete Preis (calculatedPrice) der Variante wird ersetzt |
| Warenkorb und Kasse | Cart-Prozessor mit Priorität 1000 | Preisdefinition und Preis der Produkt-Position werden ersetzt |
Im Admin (Admin-API) bleibt der Preis der Variante unverändert, weil dort kein Verkaufskanal-Event ausgelöst wird.
QuantityPriceCalculator und den Steuerregeln des Produkts.Der fixe Aufschlag wird unverändert zu diesem Preis addiert. Er wird nicht zwischen Währungen umgerechnet und gilt je nach Steuerstatus als Brutto- oder Nettobetrag, auch wenn das Feld "(EUR)" im Namen trägt.
Das Plugin ersetzt den gesamten berechneten Preis der Variante durch einen neu berechneten Preis ohne Streichpreis und ohne Grundpreis. Ein vorhandener Streichpreis oder Grundpreis der Variante entfällt deshalb bei angepassten Varianten, sowohl in der Produktanzeige als auch im Warenkorb. Prüfe das in der Storefront, wenn du mit solchen Preisangaben arbeitest.
Bei angepassten Varianten gilt immer ein einzelner Stückpreis, den das Plugin aus der niedrigsten Staffel des passenden Regelpreises (oder dem Standardpreis) des Hauptprodukts berechnet. Mengenstaffeln in den eigenen Preisen der Variante haben dort keine Wirkung, und eine höhere Menge im Warenkorb senkt den Stückpreis nicht. Die Staffelliste des Produkts (calculatedPrices) und der günstigste Preis einer Produktgruppe werden vom Plugin nicht verändert, die Anpassung greift aber nicht über sie.
| Situation | Verhalten |
|---|---|
| Hauptprodukt nicht auffindbar | Preis bleibt unverändert, ein Fehler (Storefront) bzw. eine Warnung (Warenkorb) wird ins Log geschrieben |
| Variante ohne Steuer-ID | In der Produktanzeige wird der Preis nicht angepasst |
| Aktiviert, aber keine gültigen Werte | Preis bleibt unverändert |
| Ergebnis der Rechnung negativ | Preis ist 0,00 |
| Prozentsatz 0 | Preis ist 0,00 (0 ist ein gültiger Wert) |
| Ungültige oder unendliche Zahlen | Werte werden ignoriert bzw. die Rechnung ergibt 0 |