In Bearbeitung [WAWI-20752] Evo Vorlage: "Mehr dieser Warengruppe" nur Angebote aus der jeweiligen Kategorie

  • Offizielle Event-Absagen wegen Covid-19
    Alle Infos dazu findet ihr hier: Offizielles Statement

  • "Hermes B2C" wird zum 29.02.2020 abgeschaltet und durch das neue "Hermes-Shipping-Interface" (HSI) ersetzt.
    Wer noch "Hermes B2C" nutzt sollte rechtzeitig umsteigen
    Weiterführende Infos gibt es hier: Infos zur Schnittstelle

hanzo

Aktives Mitglied
3. Mai 2017
89
0
Hallo,

in der Evo Designvorlage werden unter "Mehr dieser Warengruppe" andere Angebote aus dem Shop angezeigt.

Es werden hier jedoch x-beliebige Angebote aus ALLEN Kategorien angezeigt.
Lässt sich das so einstellen, dass nur Artikel aus der jeweiligen Shop-Kategorie angezeigt werden?

Danke

Gruß Mark
 
Zuletzt bearbeitet:

Rico Giesler

Administrator
Mitarbeiter
10. Mai 2017
12.667
1.279
Ja, weil das Warengruppen bezogen ist.
Du kannst aber in der Vorlage auch Kategorie-Galerien anlegen und dort festlegen welche Artikel darin angezeigt werden sollen.
Im Vorlagen-Editor unter Marktplätze-Designvorlagen kannst du ja die Evo-Vorlage auswählen und bearbeiten. Der grüne Text ist eine gute Hilfestellung.
Ab Zeile 241 (ca.) geht es um die Kategorie-Galerien. Dort ist auch erklärt wie man diese einsetzt.
 

hanzo

Aktives Mitglied
3. Mai 2017
89
0
Hallo Rico,

ich checks nicht...

In der Evo-Vorlage habe ich diesen Code, der erzeugt die "Mehr von dieser Warengruppe" Galerie oder?
{{ GalerieContainer | CreateHtmlGallery }}
{{ KundenKauftenAuch | LoadItems }}
{% assign KundenKauftenAuchIsFilled = KundenKauftenAuch | IsFilled -%}
{% if KundenKauftenAuchIsFilled -%}
<hr>
<div class="tab-menu">
<ul class="nav nav-tabs">
<li>
<a><label for="tab-x">{{ GlobaleTexte.Übersetzungen.GalerieTitelKundenKauftenAuch | SelectLanguage: Sprache }}</label></a>
</li>
</ul>
<input type="radio" class="product-slider" checked="checked" name="product-slider-x" id="tab-x">
<div class="panel panel-default">
<div class="panel-body">
<div class="product-wrapper">
{% for item in KundenKauftenAuch -%}
{% assign Titel = item.Titel -%}
{% assign BildURL = item.BildURL -%}
{% assign AuktionsURL = item.AuktionsURL -%}


Unter Variablen->Vorgang->Galerien->Gleiche Kategorie wird dieser Code angezeigt:
{% assign GleicheKategorie = Vorgang.Galerien.GleicheKategorie | ConfigureGallery : 'GleicheKategorie', 'AnzahlVerkäufe', true, 20 %}

Was muss ich jetzt wo austauschen?!

Danke
 

nmueller

Sehr aktives Mitglied
5. April 2011
1.266
79
Saarland
Teil. 1:

Deine "Gleiche Kategorie" entspricht nicht einer "Kategorien-Galerie", wie von Rico vorgeschlagen.
Der von dir gepostete Code ist nicht für die "gleiche Warengruppe", sondern für "Kunden kauften auch" :)

Fangen wir vorn an - im HTML der EVO:

In der EVO sind mehrere Cross-Sellingmodule vorab integriert. Diese werden über diesen Befehl

Code:
{{ GalerieContainer | CreateHtmlGallery }}
In die Vorlage integriert. Das ergibt dann den Reiter 'mehr dieser Warengruppe', 'Bestseller', etc.

Darunter wird - beispielhaft - eine einzelne Galerie in einem eigenen Reiter (ohne Siblings) geladen, und zwar das von dir erwähnte "Kunden kauften auch".

Code:
{{ KundenKauftenAuch | LoadItems }}
{% assign KundenKauftenAuchIsFilled = KundenKauftenAuch | IsFilled -%}
{% if KundenKauftenAuchIsFilled -%}
[...]
{% endif %}
-------------------

Wie definiere ich, was die EVO als Cross-Selling ausgibt?

Soweit also zu den in der EVO integrierten Galerien. Welche Galerie im ersten Aufruf : CreateHTMLGallery
enthalten ist, steuerst du über die Einstellung im Kopf der EVO

Code:
{% comment -%}\
### Galerie-Container befüllen ###
In den Galerie-Container können Sie nun eine oder mehrere Galerien hinzufügen.
Mit dem Filter "CreateHtmlGallery" wird dann für alle hinzugefügten Galerien
ein Reiter (Tab) erstellt. Suchen Sie unten im Quelltext nach
{{ GalerieContainer | CreateHtmlGallery }}, um zu sehen, an welcher Stelle
die Galerien ausgegeben werden.
{% endcomment -%}\

{{ GalerieContainer | AddGallery:  BestsellerWG }}\
{{ GalerieContainer | AddGallery:  Bestseller }}\
{{ GalerieContainer | AddGallery:  GleicheKategorie }}\
{{ GalerieContainer | AddGallery:  GleicherHersteller }}\
{{ GalerieContainer | AddGallery:  XSeller }}\
{{ GalerieContainer | AddGallery:  ÄhnlicheArtikel }}\
{{ GalerieContainer | AddGallery:  Sale }}\
Das kann bei dir jetzt etwas anders aussehen, ich habe da sicher bei mir schon mal was dran geschraubt.
Willst du eine Kategorie nicht drin haben, löschst du die Zeile, Willst du eine angezeigt bekommen, inkludierst du sie nach dem ersichtlichen Schema.

In der Wawi gibt es
- Bestseller nach Warengruppe
- Gleiche (ebay) Kategorie
- Ähnliche Artikel (werden anhand von dem Artikel zugewiesenen Merkmalen identifiziert)
- Bestseller (allgemein, meist nicht so hilfreich da nicht zb zeitabhängig)
- XSeller (am Artikel definierte Cross-Sellinggruppe)
- Sale (die beispielhaft selbst definierbare 'Kategorie', dazu später mehr)
- Kunden kauften auch (funktioniert bei ebay manchmal schlecht, wenn Kunden nur 1 Artikel kaufen und nicht mehr)
- Gleicher Hersteller

-------------------

Gleiche Kategorie - was für eine Kategorie?!

'GleicheKategorie' bezieht sich auf Artikel, die in deinem ebayshop in der selben eBay-Kategorie (nicht ebayshop-Kategorie!) enthalten sind. Stellst du also z.b. 20 verschiedene T-Shirts bei Damenmode > Shirts ein, werden diese von der Wawi registriert und als Ergebnis für die Cross-Sellinggalerie 'GleicheKategorie' heran gezogen.

Die Sortierung der Galerie bestimmt man in der EVO über den Aufruf

{% assign GleicheKategorie = Vorgang.Galerien.GleicheKategorie | ConfigureGallery : 'GleicheKategorie', 'AnzahlVerkäufe', true, 10 %}\

In dem Fall: sortiert nach Anzahl der Verkäufe, Ergebnisanzahl maximal 10.

-------------------

Was ist das denn dann für ein "Kunden kauften auch" Gedöns?

Anhand dieser Galerie wird von JTL beispielhaft in der EVO erklärt, wie man ein 'eigenes' Cross-Selling HTML/CSS und DotLiquid-Technisch stricken kann. Man kann diese Galerie auch mit

{{ GalerieContainer | AddGallery: KundenKauftenAuch }}\

in die darüber liegenden Reiter-Galerie integrieren und entfernen. Oder dort belassen und ändern.

Das Ändern dieser 'manuellen' Galerie ist etwas umfangreicher, wenn auch - wenn man mal durchblickt - nicht sonderlich schwer. Dazu sollte man etwas verstehen, was die Wawi hier macht (oder nach unten scrollen, wenn man sich den Tag nicht mit blafasel von mir versüßen möchte - da steht dann, wie man's ersetzen muss :) )

> weiter in Teil 2 dank 10k Zeichen Begrenzung.
 

nmueller

Sehr aktives Mitglied
5. April 2011
1.266
79
Saarland
Teil 2:

Technisch funktioniert es - salopp formuliert - folgendermaßen:

- erst bringen wir der Wawi bei, was wir mit "KundenKauftenAuch" meinen
> {% assign KundenKauftenAuch = Vorgang.Galerien.KundenKauftenAuch | ConfigureGallery : KundenKauftenAuchTitel, 'Anzahl', true, 8 %}\

Der Alias KundenKauftenAuch ist also der, irgendwo in den Tiefen des wawi-Codes versteckten, vordefinierte Vorgang.Galerien.KundenKauftenAuch
Der besteht hier aus maximal 8 Ergebnissen.

- nun, liebe Wawi, lade erst den Inhalt der Galerie > {{ KundenKauftenAuch | LoadItems }}
- nun erstelle ich die Basis für eine Abfrage, die prüft, ob diese sogenannte 'Array' (der Bereich, hier 'Kundenkauftenauch') überhaupt ein Ergebnis liefert > {% assign KundenKauftenAuchIsFilled = KundenKauftenAuch | IsFilled -%}
- jetzt gibts eine if-Abfrage, ob denn der vorher definierte Bereich ein Ergebnis 'true' oder 'false' liefert. > {% if KundenKauftenAuchIsFilled -%}

'true' = Die Galerie enthält Artikel > wird angezeigt
'false' = sie enthält keine, wird nicht angezeigt

Gehen wir jetzt davon aus, dass das Array auch Ergebnisse enthält - also deine Kunden auch weitere Artikel bei dir gekauft haben. Es geht also weiter mit:

Code:
                                       {% for item in KundenKauftenAuch -%}
                                                   {% assign Titel = item.Titel -%}
                                                   {% assign BildURL = item.BildURL -%}
                                                   {% assign AuktionsURL = item.AuktionsURL -%}

                                                   {% assign SearchShopURL = item.SearchShopURL -%}
                                                   {% assign SearchEbayURL = item.SearchEbayURL -%}
                                                   {% assign SearchAuktionsURL = item.SearchShopURL -%}
                                                   {% assign Untertitel = item.Untertitel -%}
                                                   {% assign NummerFormat = GlobaleTexte.Übersetzungen.NummerFormat | SelectLanguage : Vorgang.Sprache -%}
                                                   {% assign Preis = item.Preis | Nummer: 'N2', NummerFormat -%}
                                                   {% if item.AngebotsTyp == 'FixedPriceItem' -%}            
                                                   {% assign AngebotsTyp = GlobaleTexte.Übersetzungen.SofortKauf | SelectLanguage : Vorgang.Sprache  -%}
                                                   {% else -%}            
                                                   {% assign AngebotsTyp = GlobaleTexte.Übersetzungen.Auktion | SelectLanguage : Vorgang.Sprache  -%}
                                                   {% endif -%}

                                                   <div class="product-cell text-center thumbnail">
                                                       <a href="{{ AuktionsURL }}" class="image-wrapper"> <img class="image img-responsive" src="{{ BildURL }}"></a>
                                                       <div class="caption">
                                                           <a href="{{ AuktionsURL }}" class="title"><h4>{{ Titel }}</h4></a>
                                                           <div class="price_wrapper">
                                                               <strong class="price text-nowrap"> <span>{{ Preis }} {{ Vorgang.Währung }}</span> </strong>
                                                           </div>

                                                       </div>
                                                   </div>
                                               {% endfor -%}
'Übersetzt' soviel wie :
- für jedes Ergebnis im definierten Bereich > {% for item in KundenKauftenAuch -%}
- setzt du, liebe wawi, erstmal für folgende Datenbankinhalte einen Alias > alle {% assign ... = ... %} Aufrufe
- jetzt möchte ich, dass die Wawi bei einem Alias - nämlich dem Angebotstyp - unterschiedliche Ergebnisse liefert. (das ist die Button-Beschriftung, die euch zum Angebot leitet)

> {% if item.AngebotsTyp == 'FixedPriceItem' -%} wenns ein Festpreis-Angebot ist,
> gib mir beim Alias 'AngebotsTyp' bitte den Inhalt des Globaltextes im Ordner 'Übersetzungen' für 'Sofortkauf' aus > {% assign AngebotsTyp = GlobaleTexte.Übersetzungen.SofortKauf | SelectLanguage : Vorgang.Sprache -%}
> {% else %} ansonst gibste mir halt den für die 'Auktion' aus > {% assign AngebotsTyp = GlobaleTexte.Übersetzungen.Auktion | SelectLanguage : Vorgang.Sprache -%}
> {% endif %} und danach geh ich Kaffee trinken.

Jetzt muss man sich um die 'Ausgabe' der Ergebnisse (Artikel) in deinem Array (Galerie "Kunden kauften auch") kümmern.

Code:
                                                   <div class="product-cell text-center thumbnail">
                                                       <a href="{{ AuktionsURL }}" class="image-wrapper"> <img class="image img-responsive" src="{{ BildURL }}"></a>
                                                       <div class="caption">
                                                           <a href="{{ AuktionsURL }}" class="title"><h4>{{ Titel }}</h4></a>
                                                           <div class="price_wrapper">
                                                               <strong class="price text-nowrap"> <span>{{ Preis }} {{ Vorgang.Währung }}</span> </strong>
                                                           </div>

                                                       </div>
                                                   </div>
Definiert wird also ein HTML Gerüst, das die Darstellung regelt. Da man oben ja bereits sagte " {% for item in KundenKauftenAuch -%}" - für jedes Ergebnis im Array wiederholst du (wawi) mir so lange meinen HTML Code, bis alle Ergebnisse aus dem Array dargestellt wurden. Sprich : HTML so oft wiederholen, wie in der Galerie (=Array) Artikel (=items) enthalten sind.

Damit die Wawi jetzt weiss, wo sie welchen Inhalt platziert, wurden die Aliase vorher definiert:
{{ BildURL }}
{{ AuktionsURL }}
{{ Titel }}
{{ Preis }}

Diese werden dann an den passenden Stellen ins HTML Gerüst gesetzt und von der Wawi beim Erstellen des Angebots mit den jeweiligen Inhalten (Produktbild, URL zum Angebot, Titel des Angebots, Preis des Angebots) umgewandelt.

und der Rest in Teil 3..
 

nmueller

Sehr aktives Mitglied
5. April 2011
1.266
79
Saarland
Teil 3:


------------------ (wer kein Bock auf eine Wawi-Eheberatung hat, kann hier weiter lesen:)

Willst du aus dieser 'KundenKauftenAuch' Galerie nun eine andere machen, z.b. 'GleicheKategorie', musst du nicht viel ändern. Die Aliase bleiben immer identisch, nur das ausgewählte Array wird gewechselt.

also wird aus

Code:
{{ KundenKauftenAuch | LoadItems }}
{% assign KundenKauftenAuchIsFilled = KundenKauftenAuch | IsFilled -%}
{% if KundenKauftenAuchIsFilled -%}
[...]

{% for item in KundenKauftenAuch -%}
[...]
folgendes

Code:
{{ GleicheKategorie | LoadItems }}
{% assign GleicheKategorieIsFilled = GleicheKategorie | IsFilled -%}
{% if GleicheKategorieIsFilled -%}
[...]

{% for item in GleicheKategorie -%}
[...]
Der Rest bleibt gleich. Einfach jedes KundenKauftenAuch Wort durch GleicheKategorie ersetzen.
Damit das funktioniert, muss in der Vorlage auch

{% assign GleicheKategorie = Vorgang.Galerien.GleicheKategorie | ConfigureGallery : 'GleicheKategorie', 'AnzahlVerkäufe', true, 10 %}\

enthalten sein - ist bei der EVO aber der Fall. Willst du mehr als 10 Ergebnisse, dann ändere die Zahl. 20 ist das Maximum.

Eine Kurzfassung der Möglichkeiten:

entweder änderst du die Ausgabeoption für die in der Reiter-Galerie vordefinierte Anzeige deines X-Sellings

{{ GalerieContainer | AddGallery: BestsellerWG }}\
{{ GalerieContainer | AddGallery: GleicheKategorie }}\
{{ GalerieContainer | AddGallery: XSeller }}\
{{ GalerieContainer | AddGallery: ÄhnlicheArtikel }}\
{{ GalerieContainer | AddGallery: Bestseller }}\
{{ GalerieContainer | AddGallery: EVO-Designvorlage }}\
{{ GalerieContainer | AddGallery: Sale }}\

oder du änderst die 'manuelle' KundenKauftenAuch Galerie zu dem, was du haben möchtest. Oder kopierst den Block.

----------------

Verdammt nochmal, jetzt schwafelt die schon so lange und ich weiss immer noch nicht, was der Rico mir eigentlich sagen wollte!

Es gibt zusätzlich zu den von JTL vordefinierten Galerien auch jene, deren Inhalte Ihr selbst definierten könnt. Sogenannte 'Kategorien-Galerien' wie z.b. die von JTL Beispielhaft genannte 'Sale'. Zitat aus der EVO:

### Kategorien-Galerien ###

Eine besondere Art der Galerien sind die Kategorie-Galerien.
Sie werden dem Variablen-Baum dynamisch unter
{{ Vorgang.KategorieGalerien }} hinzugefügt.

Definiert werden diese Galerien in der Attributsverwaltung. Im Bereich
Kategorien finden dort eine vordefinierte Gruppe "eBay-Designvorlage",
das Attribut heißt "Galerien" und ist vom Typ "Werteliste".
Jeder Wert dieser Werteliste repräsentiert eine Galerie. Sie können die
Werteliste mit eigenen Galerien erweitern.

Welche Artikel in diesen Galerien dann angezeigt werden, bestimmen Sie,
indem Sie dieses Attribut einer oder mehreren Kategorien in der
Produktverwaltung zuweisen und jeweils einen Wert (d.h. eine Galerie)
auswählen.
Heißt: unter Artikelverwaltung findet ihr links die Wawi-Kategorien. Öffnet ihr hier die Verwaltung (doppelklick), habt Ihr einen Kategorien-Attributreiter. Klickt man dort auf 'anlegen', ploppt ein Fenster auf in dem recht weit unten steht:

- eBay-Designvorlagen
--- Galerie

wählt ihr das aus und klickt auf [weiter], kommt eine Werteliste (Dropdown) mit z.b. den Standard-Inhalten

- EVO-Designvorlage sowie
- Sale

weist ihr Eurer Wawi-Kategorie jetzt das Attribut 'Sale' zu, werden alle enthaltenen Artikel im Cross-Selling

{{ GalerieContainer | AddGallery: Sale }}

mit einbezogen.

Will man hier jetzt was eigenes, öffnet man

- Artikel > Attribute
- wechselt von dem 'Bereich - Artikel' auf 'Bereich - Kategorien'
- öffnet das Attribut 'Galerie'
- und editiert die Werteliste (siehe mein Anhang an diesem Thema)

Im Idealfall aber besser ohne Leerzeichen, in meinem Screen ist es "Meine Artikelauswahl". Aus Bequemlichkeit ändere ich das jetzt hier nicht wieder ab.

Ist die Werteliste angepasst, hängt das neue Attribut einer ausgewählten Kategorie an.

Nun:

- die Designverwaltung öffnen
- die EVO laden
- im HTML der EVO eintragen ("Meins" ist hierbei die neue Galerie)

Code:
{% assign MeinsTitel = GlobaleTexte.Übersetzungen.GalerieTitelMeins | SelectLanguage: Sprache -%}
{% assign Meins = Vorgang.KategorieGalerien.Meins | ConfigureGallery : MeinsTitel, 'AnzahlVerkäufe', true, 20 %}\
Das muss immer eingetragen werden.

Danach dann entweder aus:

Code:
{{ KundenKauftenAuch | LoadItems }}
{% assign KundenKauftenAuchIsFilled = KundenKauftenAuch | IsFilled -%}
{% if KundenKauftenAuchIsFilled -%}
[...]

{% for item in KundenKauftenAuch -%}
[...]
folgendes

Code:
{{ Meins | LoadItems }}
{% assign MeinsIsFilled = Meins | IsFilled -%}
{% if MeinsIsFilled -%}
[...]

{% for item in Meins -%}
[...]
bzw. alternativ, um die Galerie der Reiter-Galerie der EVO hinzuzufügen einfach

{{ GalerieContainer | AddGallery: Meins }}

noch ins HTML eintragen. Vorzugsweise zu der bereits vorhandenen Auflistung der zu ladenden Galerien.

Nicht vergessen!

GlobaleTexte.Übersetzungen.GalerieTitelMeins

muss auch noch angelegt und befüllt werden, also unter

> globale Texte
> im Ordner 'Übersetzungen' den Globaltext namens

GalerieTitelMeins

anlegen und mit einem Wert befüllen.

----

Viel Spaß - ich hoffe, dass das halbwegs verständlich ist :)
 

Anhänge

nmueller

Sehr aktives Mitglied
5. April 2011
1.266
79
Saarland
Kein Problem, wollte das schon länger mal zusammen schreiben - auch für meine eigene Anleitung, da mir die Frage tatsächlich schon häufiger über die Füße gelaufen ist.
In dem Zug ist mir jetzt auch ein Bug aufgefallen:

Designverwaltung > HTML [bearbeiten] Ansicht > Variablenliste rechter Hand

Wenn ich dort nun unter Vorgang > KategorieGalerien die Galerie doppelt klicke, erstellt die Wawi automatisch den Syntax

Code:
{% comment %}
Verfügbare Kriterien: AnzahlVerkäufe, AuktionsTitel, Auktionsende, StartPreis, AngebotsTyp, InterneWarengruppennummer, Warengruppe
{% endcomment %}
{% assign Meins = Vorgang.Galerien.Meins | ConfigureGallery : 'Meins', 'AnzahlVerkäufe', true, 20 %}
es muss aber Vorgang.KategorieGalerien.Meins heißen, nicht Vorgang.Galerien.Meins
Wawi Version 1.2.3.7
 

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
682
73
Hi,

danke für die ausführliche Erklärung. Kurze Frage: Kann man auch einzelne Artikel für eine besondere Galerie auswählen?
Hintergrund ist der, dass die Wawi immer nur einzelne Angebote im Sinne von Variationskombinationen z.B. als Galerie "Bestseller" listen kann, aber niemals eine ganze Familie.
Wir listen nur die schlechten Artikel separat. Wenn wir nun "Bestseller" wählen, werden diese, die schlechtesten Artikel, gewählt, weil die Wawi nicht auf die Familie zugreift.
 

Alexlaiho80

Mitglied
28. Februar 2018
35
1
Hi,
ich habe mir diesen Text nun 4x durchgelesen und checke es einfach nicht.
Ich möchte gerne neben den Kundenkauftenauch die Vorschau für GleicherHersteller einbinden.
Ich habe dazu die Kundenkauftenauch Bausteine dupliziert und den Namen geändert, aber ich bekomme eine Fehlermeldung wenn ich auf Vorschau gehe. Evo-Kopfzeile habe ich -meiner Meinung- richtig eingefügt.

Vielleicht mag da einer mit Know-How kurz rüberschaun :)
 

Anhänge

Alexlaiho80

Mitglied
28. Februar 2018
35
1
Ich habe leider noch ein Problem mit dem umbenennen von der Reiter/Tabs der Cross Selling Galerien.
Habe den Wert der jeweiligen Globalen Texte (Bild 1 geändert), es wird aber nicht übernommen.
{% assign GleicherHersteller = GlobaleTexte.Übersetzungen.GalerieTitelGleicherHersteller | SelectLanguage: Sprache -%}
Ich kann in der Evo-Designvorlage nur die Sprache Deutsch auswählen, hängt es damit evtl. zusammen? Bin über jede Hilfe sehr dankbar
 

Anhänge

Xantiva

Sehr aktives Mitglied
28. August 2016
1.344
196
Düsseldorf
Sorry, wenn ich diesen Thread kapere, aber ich habe anhand dieser Informationen hier versucht, die GalerieKategorie und GalerieHersteller einzubinden. Leider werden nicht bei allen Artikeln Daten angezeigt.
=> https://forum.jtl-software.de/threads/designvorlage-galerien-werden-nicht-bei-allen-artikel-angezeigt.126572/

Die erste Antwort vom Support war leider nur "für individuelle Anpassungen an Designvorlagen bieten wir keinen Support an.". Es geht mir aber darum, wie easyAuction die Daten generiert und nicht, wie ich die Galerien eingebunden bekommen.