Layouty multi-sales-channel
To przepis, po który większość użytkowników przychodzi do tego plugina. Masz dwa kanały sprzedaży — nazwijmy je Sales Channel A i Sales Channel B — wskazujące na to samo drzewo kategorii, i chcesz, by każdy kanał miał własną stronę główną, listingi i layouty produktów.
Ta strona to instrukcja end-to-end. Jeśli chcesz tylko 5-minutowego podsmaku, zobacz Pierwsze zastąpienie layoutu.
Model myślowy w jednym zdaniu
Dział zatytułowany „Model myślowy w jednym zdaniu”Każda kategoria, produkt i strona docelowa zachowuje jeden bazowy layout przypisany w normalny sposób Shopware. Plugin zastępuje tę bazę alternatywą, gdy reguła per-kanał-sprzedaży pasuje. Nigdy nie duplikujesz drzewa kategorii, a kategoria nigdy nie ma dwóch layoutów.
Krok 1: przypisz layouty Sales Channel A jako bazę
Dział zatytułowany „Krok 1: przypisz layouty Sales Channel A jako bazę”Potraktuj Sales Channel A jako kanał “domyślny”. Przypisz każdy layout A bezpośrednio do pasującej kategorii, produktu lub strony docelowej, jak normalnie zrobiłbyś to w Shopware:
- Kategoria strony głównej → [A] Homepage
- Kategorie listingów → [A] Listing
- Domyślna strona produktu (Settings → Shopping Experiences → Default layouts → Product page) → [A] Product
To są bazy. Plugin pozostawi je w spokoju na Sales Channel A (żadna reguła nie pasuje) i zastąpi je na Sales Channel B.
Krok 2: stwórz layouty [B]
Dział zatytułowany „Krok 2: stwórz layouty [B]”W Content → Shopping Experiences stwórz alternatywne layouty dla Sales Channel B:
- [B] Homepage — typ Landing page (lub Shop page, w zależności od typu twojej strony głównej).
- [B] Listing — typ Listing page.
- [B] Product — typ Product page.
Zapisz je. Nie są jeszcze do niczego przypięte.
Krok 3: stwórz regułę
Dział zatytułowany „Krok 3: stwórz regułę”Przejdź do Settings → Rules → Create new rule. Zalecany punkt startu to jedna reguła scope’ująca czysto po kanale sprzedaży:
- Name:
Sales Channel B - Conditions: pojedynczy warunek — Sales Channel = is one of = wybierz Sales Channel B.
- Save.
To wszystko. Nie dodawaj tutaj Is homepage — zobacz pułapkę poniżej.
Dlaczego pojedyncza reguła per kanał?
Dział zatytułowany „Dlaczego pojedyncza reguła per kanał?”Ponieważ każdy layout AND-uje swoje reguły razem (zobacz Modal przypisania layoutu), przypięcie tej samej reguły “Sales Channel B” do wszystkich trzech layoutów B wystarczy — sam typ layoutu decyduje, jaki rodzaj strony zastępuje, więc nie potrzebujesz osobnego warunku “is homepage” / “is listing” w regule.
Krok 4: przypnij regułę do każdego layoutu [B]
Dział zatytułowany „Krok 4: przypnij regułę do każdego layoutu [B]”Dla każdego layoutu [B] z kroku 2:
- Otwórz layout w Shopping Experiences.
- Layout assignment w prawym sidebar.
- Assign layout → zakładka Rules.
- Wybierz Sales Channel B.
- Confirm → Save layout.
Po tym kroku każdy layout B jest kandydatem na zastępstwo ale tylko gdy odwiedzający jest na Sales Channel B.
Krok 5: skonfiguruj plugin
Dział zatytułowany „Krok 5: skonfiguruj plugin”Przejdź do Settings → Extensions → Advanced Layouts Assigner.
Użyj przełącznika kanału sprzedaży na górze, by ustawić to per kanał (lub zostaw All sales channels dla wspólnych wartości domyślnych). Konserwatywna, zalecana konfiguracja:
Replacement mode
Dział zatytułowany „Replacement mode”- Product page → All
- Category page → All
- Landing page → All
Replacement types
Dział zatytułowany „Replacement types”Wartości domyślne seedowane przy instalacji parują każdy rodzaj z jego własnym typem. Jeśli layout [B] Homepage jest typu landingpage, ale zastępuje bazę product_list (listing), musisz dodać landingpage do wiersza Listing page:
- Product page →
Product page(domyślnie) - Shop page →
Shop page(domyślnie) - Landing page →
Landing page(domyślnie) - Listing page →
Listing page+Landing page(dodaj)
Zapisz.
Krok 6: zweryfikuj
Dział zatytułowany „Krok 6: zweryfikuj”- Wejdź na Sales Channel A w oknie incognito. Każda kategoria, produkt i strona docelowa renderuje bazowe layouty A.
- Wejdź na Sales Channel B. Każda kategoria, produkt i strona docelowa renderuje alternatywę B.
Pułapka: łączenie Is homepage z Sales Channel
Dział zatytułowany „Pułapka: łączenie Is homepage z Sales Channel”Pojedynczy najczęstszy błąd konfiguracji. Jeśli twoja reguła wygląda tak:
AND container
- Is homepage = Yes
- Sales Channel = Sales Channel B
…reguła pasuje tylko gdy oba są prawdziwe — tzn. tylko na stronie głównej Sales Channel B. Na listingu lub dowolnej innej stronie kategorii na B, Is homepage = No, więc reguła nie pasuje i bazowy layout A pozostaje.
Masz dwie drogi wyjścia:
Opcja A — podziel na dwie reguły
Dział zatytułowany „Opcja A — podziel na dwie reguły”- Reguła “B Homepage”: kontener AND z
Is homepage = YesiSales Channel is one of Sales Channel B. Przypnij tę regułę do [B] Homepage. - Reguła “B Listings”: tylko
Sales Channel is one of Sales Channel B(bezIs homepage). Opcjonalnie dodajIs homepage = Nojeśli chcesz jawnie wykluczyć stronę główną. Przypnij tę regułę do [B] Listing i innych layoutów innych niż homepage.
Opcja B — pojedyncza reguła, bez Is homepage
Dział zatytułowany „Opcja B — pojedyncza reguła, bez Is homepage”Prostsze, zalecane podejście dla większości konfiguracji. Użyj jednej reguły z tylko Sales Channel = Sales Channel B. Ponieważ każdy layout ma już typ strony CMS (landingpage, product_list itd.), typy zastępowania plugina obsługują dla ciebie pytanie “który rodzaj strony pasuje do tego layoutu”. Przypnij tę pojedynczą regułę do każdego layoutu [B]. To właśnie zaleca krok 3 powyżej.
Kiedy dodawać inne warunki
Dział zatytułowany „Kiedy dodawać inne warunki”- Date range — by wprowadzić tymczasowy wygląd. Przypnij regułę z samym zakresem dat tylko do layoutów, które chcesz ograniczyć czasowo.
- Language / Currency — by wariować po kraju wewnątrz jednego kanału sprzedaży (np. ten sam sklep sprzedaje w EUR i CHF na dwóch domenach).
- Customer group — dla layoutu B2B. Zobacz Layouty specyficzne dla B2B.
W każdym przypadku mechanika jest ta sama: reguła zawęża, kiedy alternatywny layout się kwalifikuje; plugin zastępuje bazę gdy reguła pasuje.
Lista kontrolna
Dział zatytułowany „Lista kontrolna”- Każda kategoria, produkt i strona docelowa ma przypisany bazowy layout w normalny sposób Shopware.
- Alternatywne layouty istnieją w Shopping Experiences z odpowiednim typem.
- Jedna reguła per “oś” (per kanał sprzedaży, per język itd.) — najlepiej bez
Is homepage. - Reguła jest przypięta do każdego alternatywnego layoutu w Layout assignment → zakładka Rules.
- Replacement mode to All dla rodzajów stron, które chcesz podmieniać (per kanał sprzedaży).
- Replacement types wymienia typ alternatywy w wierszu bazy (per kanał sprzedaży).
Powiązane
Dział zatytułowany „Powiązane”- Jak to działa — model myślowy.
- Tryby zastępowania i Typy zastępowania — dwie bramki.
- Własne warunki reguł — w tym semantyka
Is homepage. - Rozwiązywanie problemów — kiedy “nie działa”.