Die Preisanpassung wird an den Produkten über drei Zusatzfelder (Custom Fields) gesteuert. Im Plugin selbst stellst du nur die Rundung ein.
Du erreichst sie im Admin unter Erweiterungen > Meine Erweiterungen > Varianten-Preisanpassung. Die Konfiguration enthält eine Karte "Rundungseinstellungen". Das Plugin liest die Werte mit der ID des aktuellen Verkaufskanals, du kannst sie also pro Verkaufskanal abweichend setzen.
| Einstellung | Schlüssel | Standard | Beschreibung |
|---|---|---|---|
| Dezimalstellen | MmdVariantPriceSurcharge.config.roundingPrecision |
2 | Anzahl der Nachkommastellen für den berechneten Preis. Werte werden auf den Bereich 0 bis 10 begrenzt, ein nicht numerischer Wert ergibt 2. |
| Rundungsmodus | MmdVariantPriceSurcharge.config.roundingMode |
1 (HALF_UP) | Rundungsverfahren, siehe Tabelle |
Auswahlliste "Rundungsmodus" mit den Beschriftungen aus dem Admin:
| Wert | Beschriftung im Admin | PHP-Konstante |
|---|---|---|
| 1 | Kaufmaennisch aufrunden (HALF_UP) | PHP_ROUND_HALF_UP |
| 2 | Kaufmaennisch abrunden (HALF_DOWN) | PHP_ROUND_HALF_DOWN |
| 3 | Zu geraden Zahlen runden (HALF_EVEN) | PHP_ROUND_HALF_EVEN |
| 4 | Von Null weg runden (HALF_ODD) | PHP_ROUND_HALF_ODD |
Die Beschriftung des Modus 4 ist missverständlich. Dahinter steht die PHP-Konstante
PHP_ROUND_HALF_ODD: Liegt der Wert genau auf der Hälfte, wird zur nächsten ungeraden Zahl gerundet.
Ein unbekannter Wert im Rundungsmodus wird wie HALF_UP behandelt.
Die Migration legt bei der Installation ein Custom-Field-Set "Varianten-Preisanpassung" (mmd_variant_price_surcharge) für Produkte an. Du findest die Felder im Admin am Produkt in der Karte der Zusatzfelder.
| Technischer Name | Beschriftung im Admin | Typ | Wertebereich | Beschreibung |
|---|---|---|---|---|
mmd_surcharge_enabled |
Preisanpassung aktivieren | Checkbox | an/aus | Schaltet die Preisanpassung ein |
mmd_surcharge_percentage |
Prozentsatz vom Hauptprodukt | Zahl (Float) | 0 bis 1000 | 100 = voller Preis, 50 = halber Preis. Fehlt der Wert, gilt 100. |
mmd_surcharge_fixed |
Fixer Preisaufschlag (EUR) | Zahl (Float) | -100000 bis 100000 | Betrag, der vor der Prozentrechnung zum Preis des Hauptprodukts addiert (positiv) oder abgezogen (negativ) wird. Fehlt der Wert, gilt 0. |
Werte außerhalb des Wertebereichs und nicht numerische Werte ignoriert das Plugin, als wäre das Feld leer. Es schreibt dazu eine Warnung ins Log. Sind beide Werte leer oder ungültig, bleibt der Preis unverändert, auch wenn die Preisanpassung aktiviert ist.
100, und/oder "Fixer Preisaufschlag (EUR)", z. B. 8.00 oder -5.00.Der eigene Preis der Variante spielt keine Rolle. Maßgeblich ist allein der Preis des Hauptprodukts mit Aufschlag und Prozentsatz.
Die Vererbung funktioniert für die gesamte Anpassung gemeinsam, nicht feldweise:
| Zustand der Variante | Ergebnis |
|---|---|
| Das Feld "Preisanpassung aktivieren" ist an der Variante nicht gesetzt | Alle drei Werte (aktiviert, Prozentsatz, Aufschlag) kommen vom Hauptprodukt. Prozentsatz und Aufschlag der Variante selbst werden dann nicht verwendet. |
| "Preisanpassung aktivieren" ist an der Variante gesetzt (an oder aus) | Es zählen nur die Werte der Variante. Ist das Feld ausgeschaltet, gibt es keine Preisanpassung, auch wenn das Hauptprodukt sie aktiviert hat. |
So kannst du die Anpassung einmal am Hauptprodukt hinterlegen und für alle Varianten wirken lassen. Möchtest du eine einzelne Variante ausnehmen, schalte dort das Feld ausdrücklich aus.
Die Anpassung greift nur bei Varianten, also bei Produkten mit einem Hauptprodukt. Ein Hauptprodukt selbst und Produkte ohne Varianten behalten ihren Preis.
Variantenpreis = (Preis des Hauptprodukts + fixer Aufschlag) x (Prozentsatz / 100)
Danach wird auf die eingestellten Dezimalstellen gerundet. Ergibt die Rechnung einen negativen Wert, ist der Preis 0,00. Alles Weitere zu Preisquelle, Steuern und Währung steht unter Storefront und Preisberechnung.
Hauptprodukt "CRM Software" für 49,00 EUR (1-User-Lizenz).
| Variante | Prozent | Aufschlag | Berechnung | Ergebnis |
|---|---|---|---|---|
| 1 User | 100 | 0 | 49 x 1,00 | 49,00 EUR |
| 5 User | 200 | 0 | 49 x 2,00 | 98,00 EUR |
| 10 User | 350 | 0 | 49 x 3,50 | 171,50 EUR |
| Enterprise | 800 | +50 | (49 + 50) x 8,00 | 792,00 EUR |
Hauptprodukt "Kissenhülle" für 12,00 EUR (Standardgröße 40x40).
| Variante | Prozent | Aufschlag | Berechnung | Ergebnis |
|---|---|---|---|---|
| 40x40 Standard | 100 | 0 | (12 + 0) x 1,0 | 12,00 EUR |
| 40x40 mit Reißverschluss | 100 | +3 | (12 + 3) x 1,0 | 15,00 EUR |
| 50x50 | 130 | 0 | (12 + 0) x 1,3 | 15,60 EUR |
| 50x50 mit Reißverschluss | 130 | +3 | (12 + 3) x 1,3 | 19,50 EUR |
Hauptprodukt "T-Shirt" für 25,00 EUR.
| Variante | Prozent | Aufschlag | Berechnung | Ergebnis |
|---|---|---|---|---|
| Einzelstück | 100 | 0 | 25 x 1,00 | 25,00 EUR |
| 3er-Pack | 100 | -5 | (25 - 5) x 1,00 | 20,00 EUR |
| 5er-Pack | 100 | -8 | (25 - 8) x 1,00 | 17,00 EUR |