Eigene Regelbedingungen
Das Plugin fügt drei eigene Regelbedingungen hinzu und akzeptiert eine kuratierte Teilmenge der Standard-Shopware-Bedingungen. Alles, was nicht auf dieser Seite ist, wird beim Auswerten einer Regel für die Layout-Auswahl stillschweigend übersprungen.
Plugin-spezifische Bedingungen
Abschnitt betitelt „Plugin-spezifische Bedingungen“Ist Startseite [P2Lab Layout Zuweiser]
Abschnitt betitelt „Ist Startseite [P2Lab Layout Zuweiser]“- Typ-ID:
p2labCmsAssignRulesIsHomepageRule - Klasse:
Rule\IsHomepageRule - Scope: nur Kategorienseiten. Gibt auf Produkt- und Landing-Seiten-Scopes
falsezurück.
Wahr, wenn der Besucher auf der Stammnavigation des aktiven Verkaufskanals ist — d. h. categoryId === salesChannel.navigationCategoryId. Falsch auf jeder Unterkategorie, jeder Produktseite, jeder Landing-Seite.
Feld:
- Ist Startseite — boolescher Schalter.
Häufiger Fallstrick: Kombination mit Verkaufskanal in einem UND-Container. Die Kombination passt nur auf der Startseite des Kanals. Siehe den Fallstrick im Mehrere-Verkaufskanäle-Rezept.
Element in Kategorie [P2Lab Layout Zuweiser]
Abschnitt betitelt „Element in Kategorie [P2Lab Layout Zuweiser]“- Typ-ID:
p2labCmsAssignRulesInCategoryRule - Klasse:
Rule\InCategoryRule - Scope: Produkt- und Kategorienseiten.
Wahr, wenn das Produkt (oder die betrachtete Kategorie) direkt einer der aufgelisteten Kategorien zugewiesen ist.
Felder:
- Operator —
ist einer von/ist keiner von/ist leer. - Kategorien — Multi-Select.
Für ein Produkt läuft die Prüfung gegen product.categoryIds. Für eine Kategorienseite läuft sie gegen [categoryId]. Die Bedingung schaut nicht auf den Kategoriebaum — Nachkommen einer aufgelisteten Kategorie matchen nicht. Verwenden Sie die nächste Bedingung für baumbewusstes Matching.
Element in Kategorie mit Unterkategorien [P2Lab Layout Zuweiser]
Abschnitt betitelt „Element in Kategorie mit Unterkategorien [P2Lab Layout Zuweiser]“- Typ-ID:
p2labCmsAssignRulesInCategoryWithChildrenRule - Klasse:
Rule\InCategoryWithChildrenRule(erweitert die vorherige) - Scope: Produkt- und Kategorienseiten.
Wahr, wenn das Produkt (oder die betrachtete Kategorie) in einer der aufgelisteten Kategorien ODER in einem ihrer Nachkommen ist. Die Nachkommens-Prüfung erfolgt durch Nachschlagen des Shopware-Kategorien-path (der die Vorfahrenkette als |id1|id2|id3| speichert).
Felder: dieselben wie Element in Kategorie.
Kosten: ein zusätzlicher DB-Lookup pro Auswertung pro geprüfter Kategorie. Bevorzugen Sie Element in Kategorie, wenn Nachkommens-Matching nicht benötigt wird.
Standard-Shopware-Bedingungen — unterstützt
Abschnitt betitelt „Standard-Shopware-Bedingungen — unterstützt“Die Liste ConditionNameEnum::CONDITIONS des Plugins erlaubt explizit die folgenden Standard-Shopware-Bedingungen:
Allgemein
Abschnitt betitelt „Allgemein“- Verkaufskanal —
salesChannel - Datumsbereich —
dateRange - Wochentag —
dayOfWeek - Sprache —
language - Zeitbereich —
timeRange - Währung —
currency - Immer gültig —
alwaysValid
- Affiliate-Code, Rechnungsadresse Stadt / Land / PLZ / Bundesland / Straße, Kampagnen-Code, ist Firma, Alter, vom Admin angelegt, Geburtstag, E-Mail, Kundengruppe, ist aktiv, ist Newsletter-Empfänger, eingeloggt, Kundennummer, Anrede, Nachname, Custom Field, Standard-Zahlungsart, unterschiedliche Adressen, Tag, ist Gast, ist Neukunde, Anzahl der Bewertungen, Bestellanzahl, Lieferadresse Stadt / Land / PLZ / Bundesland / Straße, Tage seit erstem Login, Tage seit letztem Login, Tage seit letzter Bestellung, Bestellgesamtbetrag.
(Siehe Enum\ConditionNameEnum::CONDITIONS für die kanonische Liste.)
Container
Abschnitt betitelt „Container“- UND-Container —
andContainer - ODER-Container —
orContainer - Alle-Positionen-Container —
allLineItemsContainer(ersetzt durch das eigeneMatchAllRuledes Plugins — siehe Interna des Ersetzungsflusses)
Standard-Shopware-Bedingungen — nicht unterstützt
Abschnitt betitelt „Standard-Shopware-Bedingungen — nicht unterstützt“Alles, was nicht in CONDITIONS oder CONTAINERS ist, wird stillschweigend übersprungen. Dazu gehören die meisten Warenkorb- / Line-Item- / Versand- / Zahlungs-Bedingungen:
- Warenkorbsumme, Warenkorb-Versandkosten, Artikel im Warenkorb, Line Item beworben, Line Item mit Lieferdatum, Line Item erforderlich, Line Item Taxonomie, Line Item Promotion etc.
- Versandart, Zahlungsart, Versandland (warenkorb-scoped-Variante) etc.
Diese sind absichtlich ausgeschlossen — sie zielen auf den Checkout-Flow, wo es einen tatsächlichen Warenkorb zu inspizieren gibt, nicht auf den Page-Load-Flow, in dem das Plugin läuft.
Das Layout-Zuweisungsmodal zeigt pro Regel ein Status-Badge, das angibt, ob alle, einige oder keine ihrer Bedingungen unterstützt werden. Siehe Layout-Zuweisungsmodal.
Eigene hinzufügen
Abschnitt betitelt „Eigene hinzufügen“Das Plugin exposed keinen öffentlichen Extension-Point für neue Bedingungen — Sie würden sie genauso hinzufügen, wie Shopware es macht (eine Rule-Klasse plus die zugehörige Admin-Komponente registrieren) und dann die Typ-ID zu ConditionNameEnum::CONDITIONS hinzufügen, um sie in den Matcher aufzunehmen.
Verwandt
Abschnitt betitelt „Verwandt“- Regeln und Bedingungen — Anleitung auf hoher Ebene.
- Interna des Ersetzungsflusses — wie der Matcher sie aufruft.