Zum Inhalt springen

Mehrere-Verkaufskanäle-Layouts

Dies ist das Rezept, weswegen die meisten Anwender zu diesem Plugin kommen. Sie haben zwei Verkaufskanäle — nennen wir sie Verkaufskanal A und Verkaufskanal B — die auf denselben Kategoriebaum zeigen, und Sie möchten, dass jeder Kanal seine eigenen Startseiten-, Listing- und Produktlayouts hat.

Diese Seite ist die End-zu-End-Anleitung. Wenn Sie nur einen 5-Minuten-Vorgeschmack wollen, siehe Erste Layout-Ersetzung.

Jede Kategorie, jedes Produkt und jede Landing-Seite behält ein Basislayout, das auf normale Shopware-Art zugewiesen ist. Das Plugin ersetzt diese Basis durch eine Alternative, wenn eine per-Verkaufskanal-Regel passt. Sie duplizieren niemals den Kategoriebaum, und eine Kategorie hat nie zwei Layouts.

Schritt 1: Verkaufskanal-A-Layouts als Basis zuweisen

Abschnitt betitelt „Schritt 1: Verkaufskanal-A-Layouts als Basis zuweisen“

Behandeln Sie Verkaufskanal A als den “Standard”-Kanal. Weisen Sie jedes A-Layout direkt der passenden Kategorie, dem Produkt oder der Landing-Seite zu, wie Sie es in Shopware normal tun:

  • Startseite-Kategorie → [A] Startseite
  • Listing-Kategorien → [A] Listing
  • Standard-Produktseite (Einstellungen → Erlebniswelten → Standardlayouts → Produktseite) → [A] Produkt

Das sind die Basen. Das Plugin lässt sie auf Verkaufskanal A in Ruhe (keine Regel passt) und ersetzt sie auf Verkaufskanal B.

Erstellen Sie unter Inhalte → Erlebniswelten die alternativen Layouts für Verkaufskanal B:

  • [B] Startseite — Typ Landing-Seite (oder Shop-Seite, je nach Ihrem Startseitentyp).
  • [B] Listing — Typ Listing-Seite.
  • [B] Produkt — Typ Produktseite.

Speichern Sie sie. Sie sind noch nirgends angehängt.

Gehen Sie zu Einstellungen → Regeln → Neue Regel anlegen. Der empfohlene Startpunkt ist eine Regel, die rein auf den Verkaufskanal scoped:

  • Name: Verkaufskanal B
  • Bedingungen: eine einzelne Bedingung — Verkaufskanal = ist einer von = Verkaufskanal B auswählen.
  • Speichern.

Das war’s. Fügen Sie hier Ist Startseite nicht hinzu — siehe den Fallstrick unten.

Weil jedes Layout seine Regeln mit UND verknüpft (siehe Layout-Zuweisungsmodal), reicht es aus, dieselbe “Verkaufskanal B”-Regel allen drei B-Layouts anzuhängen — der Layouttyp selbst entscheidet, welche Seitenart er ersetzt, sodass Sie in der Regel keine separate “ist Startseite” / “ist Listing”-Bedingung benötigen.

Für jedes [B]-Layout aus Schritt 2:

  1. Öffnen Sie das Layout in Erlebniswelten.
  2. Layout-Zuweisung in der rechten Seitenleiste.
  3. Layout zuweisen → Tab Regeln.
  4. Wählen Sie Verkaufskanal B.
  5. Bestätigen → das Layout Speichern.

Nach diesem Schritt ist jedes B-Layout ein Ersetzungskandidat aber nur, wenn der Besucher auf Verkaufskanal B ist.

Gehen Sie zu Einstellungen → Erweiterungen → Advanced Layouts Assigner.

Verwenden Sie den Verkaufskanal-Umschalter oben, um dies pro Kanal zu setzen (oder belassen Sie Alle Verkaufskanäle für gemeinsame Defaults). Die konservative, empfohlene Konfiguration:

  • ProduktseiteAlle
  • KategorienseiteAlle
  • Landing-SeiteAlle

Die bei der Installation gesetzten Defaults paaren jede Art mit ihrem eigenen Typ. Wenn das [B] Startseite-Layout vom Typ landingpage ist, aber eine product_list-Listing-Basis ersetzt, müssen Sie landingpage zur Zeile Listing-Seite hinzufügen:

  • ProduktseiteProduktseite (Default)
  • Shop-SeiteShop-Seite (Default)
  • Landing-SeiteLanding-Seite (Default)
  • Listing-SeiteListing-Seite + Landing-Seite (hinzufügen)

Speichern.

  1. Browsen Sie zu Verkaufskanal A in einem Inkognito-Fenster. Jede Kategorie, jedes Produkt und jede Landing-Seite rendert die A-Basislayouts.
  2. Browsen Sie zu Verkaufskanal B. Jede Kategorie, jedes Produkt und jede Landing-Seite rendert die B-Alternative.

Fallstrick: Kombination von Ist Startseite mit Verkaufskanal

Abschnitt betitelt „Fallstrick: Kombination von Ist Startseite mit Verkaufskanal“

Der häufigste Konfigurationsfehler. Wenn Ihre Regel so aussieht:

UND-Container

  • Ist Startseite = Ja
  • Verkaufskanal = Verkaufskanal B

…passt die Regel nur, wenn beide wahr sind — d. h. nur auf der Startseite von Verkaufskanal B. Auf einer Listing- oder einer anderen Kategorienseite auf B ist Ist Startseite = Nein, daher passt die Regel nicht, und das A-Basislayout bleibt bestehen.

Sie haben zwei Auswege:

  • Regel “B Startseite”: UND-Container mit Ist Startseite = Ja und Verkaufskanal ist einer von Verkaufskanal B. Hängen Sie diese Regel an [B] Startseite an.
  • Regel “B Listings”: nur Verkaufskanal ist einer von Verkaufskanal B (ohne Ist Startseite). Optional Ist Startseite = Nein hinzufügen, wenn Sie die Startseite explizit ausschließen wollen. Hängen Sie diese Regel an [B] Listing und andere Nicht-Startseiten-Layouts an.

Der einfachere, für die meisten Setups empfohlene Ansatz. Verwenden Sie eine Regel mit nur Verkaufskanal = Verkaufskanal B. Da jedes Layout bereits einen CMS-Seitentyp hat (landingpage, product_list etc.), übernehmen die Ersetzungstypen des Plugins für Sie die Frage “welche Seitenart passt zu diesem Layout”. Hängen Sie diese einzelne Regel jedem [B]-Layout an. Das ist es, was Schritt 3 oben empfiehlt.

  • Datumsbereich — um ein zeitlich begrenztes Aussehen auszurollen. Hängen Sie die Regel mit nur dem Datumsbereich an Layouts an, die Sie zeitlich begrenzen wollen.
  • Sprache / Währung — um innerhalb eines einzelnen Verkaufskanals nach Land zu variieren (z. B. derselbe Shop verkauft in EUR und CHF auf zwei Domains).
  • Kundengruppe — für ein B2B-Layout. Siehe B2B-spezifische Layouts.

In jedem Fall ist die zugrundeliegende Mechanik dieselbe: die Regel verengt, wann das Alternativlayout berechtigt ist; das Plugin ersetzt die Basis, wenn die Regel passt.

  • Jeder Kategorie, jedem Produkt und jeder Landing-Seite ist ein Basislayout auf normale Shopware-Art zugewiesen.
  • Die Alternativlayouts existieren unter Erlebniswelten mit dem richtigen Typ.
  • Eine Regel pro “Achse” (pro Verkaufskanal, pro Sprache etc.) — vorzugsweise ohne Ist Startseite.
  • Die Regel ist jedem Alternativlayout unter Layout-Zuweisung → Tab Regeln angehängt.
  • Ersetzungsmodus ist Alle für die Seitenarten, die Sie tauschen wollen (pro Verkaufskanal).
  • Ersetzungstypen listet den Typ der Alternative in der Zeile der Basis auf (pro Verkaufskanal).