Przejdź do głównej zawartości

Pierwsze zastąpienie layoutu

Ta strona prowadzi cię przez minimalną konfigurację end-to-end: zastąp layout strony głównej na Kanale Sprzedaży B, zachowując oryginalną stronę główną na Kanale Sprzedaży A. Oba kanały dzielą to samo drzewo kategorii.

Na koniec będziesz mieć:

  • Drugi layout CMS w Shopping Experiences.
  • Regułę, która pasuje tylko na Kanale Sprzedaży B.
  • Regułę przypiętą do drugiego layoutu.
  • Ustawienia plugina skonfigurowane tak, by podmiana zaszła.
  • Dwa kanały sprzedaży wskazujące na tę samą kategorię root.
  • Ta kategoria root ma przypisany layout CMS (baza — na przykład Default category layout).
  • Plugin jest zainstalowany i aktywowany.

Jeśli kategoria root nie ma layoutu CMS, przypisz jeden najpierw. Bez bazowego layoutu plugin nie ma czego zastąpić — zobacz Jak to działa.

  1. Przejdź do Content → Shopping Experiences.
  2. Kliknij Create new layout → wybierz typ Landing page (lub ten sam typ Shop page / Listing page co twoja baza — typ ma znaczenie, zobacz krok 4).
  3. Zbuduj layout. Zapisz.

Masz teraz kandydata na alternatywny layout. Nic w nim jeszcze nie wskazuje na żadną kategorię — to dalej.

  1. Przejdź do Settings → Rules → Create new rule.
  2. Nazwij regułę, np. “Sales Channel B”.
  3. Dodaj pojedynczy warunek: Sales Channel = is one of = wybierz Sales Channel B.
  4. Zapisz.
  1. Wróć do Content → Shopping Experiences i otwórz layout zbudowany w kroku 1.
  2. Kliknij Layout assignment w prawym sidebar.
  3. Kliknij Assign layout.
  4. Otwórz zakładkę Rules (dodaną przez ten plugin).
  5. Wybierz Sales Channel B.
  6. Kliknij Confirm, następnie Save.
  1. Przejdź do Settings → Extensions → Advanced Layouts Assigner.

  2. Wybierz Sales Channel B w przełączniku kanału sprzedaży na górze (lub zostaw All sales channels, by konfiguracja działała dla obu).

  3. W karcie Replacement mode ustaw Category page na All. To oznacza dowolny bazowy layout kategorii kwalifikuje się do zastąpienia gdy reguła pasuje.

  4. W karcie Replacement types upewnij się, że wiersz pasujący do typu twojego bazowego layoutu zawiera typ alternatywnego layoutu. Domyślne wartości post-install to:

    • Listing pageproduct_list (listingi mogą być zastępowane innymi listingami)
    • Shop pagepage (strony sklepu mogą być zastępowane innymi stronami sklepu)
    • Landing pagelandingpage

    Jeśli twoja baza to Listing page (product_list), a alternatywa to Landing page (landingpage), dodaj landingpage do Listing page, by plugin mógł użyć jej jako zastępstwa.

  5. Zapisz.

  1. Otwórz storefront na Kanale Sprzedaży A (oryginał). Renderuje się oryginalny layout. ✓
  2. Otwórz storefront na Kanale Sprzedaży B. Renderuje się alternatywny layout. ✓

Jeśli alternatywa nie pokazuje się na Kanale Sprzedaży B:

  • Ponownie sprawdź, czy kategoria ma przypisany bazowy layout (krok 0).
  • Ponownie sprawdź, czy reguła zawiera tylko warunek Sales Channel (krok 2).
  • Ponownie sprawdź, czy reguła jest przypięta do alternatywnego layoutu (krok 3).
  • Ponownie sprawdź, czy tryb zastępowania i typy na to pozwalają (krok 4).
  • Zobacz Rozwiązywanie problemów.

Użyłeś plugina, by zrobić coś, czego Shopware sam nie potrafi: serwować dwa różne layouty dla tej samej kategorii w dwóch kanałach sprzedaży, bez duplikacji kategorii.

Stąd możesz:

  • Dodać drugą regułę dla innego kanału sprzedaży i przypiąć ją do trzeciego layoutu. Powtarzaj per kanał.
  • Dodać warunek zakresu dat lub grupy klientów, by zaplanować alternatywę.
  • Zbudować osobne alternatywy dla strony głównej, listingów i stron produktu i przypiąć do każdej tę samą regułę. Zobacz przepis multi-sales-channel dla pełnej instrukcji.