Własne warunki reguł
Plugin dodaje trzy własne warunki reguł i akceptuje kuratorowany podzbiór standardowych warunków Shopware. Wszystko, czego nie ma na tej stronie, jest po cichu pomijane gdy reguła jest ewaluowana dla wyboru layoutu.
Warunki specyficzne dla plugina
Dział zatytułowany „Warunki specyficzne dla plugina”Is homepage [P2Lab Layouts Assigner]
Dział zatytułowany „Is homepage [P2Lab Layouts Assigner]”- Type id:
p2labCmsAssignRulesIsHomepageRule - Klasa:
Rule\IsHomepageRule - Scope: tylko strony kategorii. Zwraca
falsedla scope’ów produktu i strony docelowej.
Prawda gdy odwiedzający jest na navigation root aktywnego kanału sprzedaży — tzn. categoryId === salesChannel.navigationCategoryId. Fałsz na każdej podkategorii, każdej stronie produktu, każdej stronie docelowej.
Pole:
- Is homepage — przełącznik boolean.
Częsta pułapka: łączenie tego z Sales Channel w kontenerze AND. Kombinacja pasuje tylko na stronie głównej kanału. Zobacz pułapkę w przepisie multi-sales-channel.
Item in category [P2Lab Layouts Assigner]
Dział zatytułowany „Item in category [P2Lab Layouts Assigner]”- Type id:
p2labCmsAssignRulesInCategoryRule - Klasa:
Rule\InCategoryRule - Scope: strony produktu i kategorii.
Prawda gdy produkt (lub oglądana kategoria) jest bezpośrednio przypisany do jednej z wymienionych kategorii.
Pola:
- Operator —
is one of/is none of/is empty. - Categories — multi-select.
Dla produktu sprawdzenie biegnie względem product.categoryIds. Dla strony kategorii sprawdzenie biegnie względem [categoryId]. Warunek nie patrzy na drzewo kategorii — potomkowie wymienionej kategorii nie pasują. Użyj następnego warunku dla matchowania świadomego drzewa.
Item in category with children [P2Lab Layouts Assigner]
Dział zatytułowany „Item in category with children [P2Lab Layouts Assigner]”- Type id:
p2labCmsAssignRulesInCategoryWithChildrenRule - Klasa:
Rule\InCategoryWithChildrenRule(rozszerza poprzednią) - Scope: strony produktu i kategorii.
Prawda gdy produkt (lub oglądana kategoria) jest w którejkolwiek z wymienionych kategorii, LUB w jednym z ich potomków. Sprawdzenie potomków robione jest przez lookup Shopware’owego path kategorii (który przechowuje łańcuch przodków jako |id1|id2|id3|).
Pola: te same co Item in category.
Koszt: jeden dodatkowy DB lookup per ewaluacja per sprawdzana kategoria. Preferuj Item in category gdy matchowanie potomków nie jest potrzebne.
Standardowe warunki Shopware — wspierane
Dział zatytułowany „Standardowe warunki Shopware — wspierane”Lista ConditionNameEnum::CONDITIONS plugina jawnie zezwala na następujące standardowe warunki Shopware:
- Sales Channel —
salesChannel - Date range —
dateRange - Day of week —
dayOfWeek - Language —
language - Time range —
timeRange - Currency —
currency - Always valid —
alwaysValid
- Affiliate code, billing city / country / zip / state / street, campaign code, is company, age, created by admin, birthday, email, customer group, is active, is newsletter recipient, logged in, customer number, salutation, last name, custom field, default payment method, different addresses, tag, is guest, is new customer, number of reviews, order count, shipping city / country / zip / state / street, days since first login, days since last login, days since last order, order total amount.
(Zobacz Enum\ConditionNameEnum::CONDITIONS dla kanonicznej listy.)
Kontenery
Dział zatytułowany „Kontenery”- AND container —
andContainer - OR container —
orContainer - All line items container —
allLineItemsContainer(zastępowany własnymMatchAllRuleplugina — zobacz Wewnętrzności przepływu zastępowania)
Standardowe warunki Shopware — niewspierane
Dział zatytułowany „Standardowe warunki Shopware — niewspierane”Wszystko nie w CONDITIONS lub CONTAINERS jest po cichu pomijane. To obejmuje większość warunków cart / line-item / shipping / payment:
- Cart total, cart shipping cost, items in cart, line item promoted, line item with delivery date, line item required, line item taxonomy, line item promotion itp.
- Shipping method, payment method, shipping country (wariant cart-scoped) itp.
Te są celowo wykluczone — celują w flow checkout, gdzie jest faktyczny koszyk do zainspektowania, nie w flow page-load gdzie plugin działa.
Modal przypisania layoutu pokazuje badge statusu per reguła wskazujący, czy wszystkie, niektóre czy żadne z jej warunków są wspierane. Zobacz Modal przypisania layoutu.
Dodawanie własnych
Dział zatytułowany „Dodawanie własnych”Plugin nie wystawia publicznego extension point dla nowych warunków — dodałbyś je tak samo jak Shopware (rejestrując klasę Rule plus jej komponent admina) a następnie dodał type id do ConditionNameEnum::CONDITIONS, by włączyć je do matchera.
Powiązane
Dział zatytułowany „Powiązane”- Reguły i warunki — przewodnik wysokopoziomowy.
- Wewnętrzności przepływu zastępowania — jak matcher je wywołuje.