Tutorial: Flächenpreis (Breite × Länge)
In diesem Tutorial bauen Sie einen Konfigurator für eine Tischplatte, deren Preis sich aus Breite × Länge × Quadratmeter-Preis errechnet — wahlweise über die vordefinierte Regel oder eigene Formel.
Dauer: ca. 20 Minuten. Voraussetzung: Eine Konfiguration ist angelegt (siehe Erste Konfiguration).
Variante 1 — Vordefinierte Regel „Fläche"
Schritt 1 — Felder-Schritt anlegen
Sidebar → Wurzel → Drei-Punkte-Menü → Neue Position hier. Typ Felder, Name Maße.
Sidebar → Schritt „Maße" → Drei-Punkte-Menü → Neues Feld hier.
Name Breite, Typ Nummer. Im Tab Attribute Mindestwert 100, Maximalwert 2000, Schrittweite 10. Aktivieren Sie Feld ist Breite.
Wiederholen Sie für ein Feld Länge, aktiv: Feld ist Länge.
Speichern.
→ Pricing-Flags: Pricing-Flags
Schritt 2 — Preisregel der Möglichkeit „Tischplatte"
Angenommen, Sie haben einen Custom-Schritt mit der Möglichkeit Tischplatte (oder einen Produkt-Schritt mit der Tischplatte als Shopware-Produkt).
Sidebar → Möglichkeit Tischplatte → Tab Preise.
Steuersatz wählen, eine Preisgruppe Standard hinzufügen.
Mengenstaffel: ab 1, Preis pro m²
120,00 €.Berechnungsregel: Flächenpreis. Die Regel rechnet
(Länge × Breite) × Preis × Menge— also pro Quadratmeter mal Stückzahl.Speichern und im Frontend testen — bei 1000 × 500 mm (= 0,5 m²) erscheint 60,00 €.
→ Vordefinierte Regeln: Preisregeln
Variante 2 — Eigene Formel mit Mindestpreis
Die Tischplatte soll mindestens 50 € kosten, auch bei kleinen Maßen.
Sidebar → Knoten Preisregeln → Drei-Punkte-Menü → Berechnungsregel erstellen.
Name Tischplatte mit Mindestpreis. Verfügbar in: Möglichkeit. Typ: Berechnungslogik.
Im Builder ziehen Sie:
Funktion
maxals erstes Argument:
price.unitPrice * this.entry.width / 1000 * this.entry.length / 1000als zweites Argument: Wert
50
oder im Code-Modus:
max(price.unitPrice * this.entry.width / 1000 * this.entry.length / 1000, 50)Im Demo-Bereich testen, dann speichern.
In der Möglichkeit Tischplatte → Tab Preise → Berechnungsregel auf Tischplatte mit Mindestpreis umstellen.
Hinweise
Die Felder „Breite" und „Länge" sind in mm — daher die Division durch 1000.
Die Pricing-Flags wirken pro Feldsammlung — und müssen pro Feldsammlung jeweils nur einmal vergeben sein. Andere Felder-Schritte haben eigene unabhängige Pricing-Flags.
Im Demo-Bereich testen Sie verschiedene Eingabewerte, ohne speichern zu müssen.