Feed-Engine
Für externe Verkaufsportale (z.B. Google, Facebok etc.) werden Feeds relevanter Artikel benötigt. Mit Hilfe der Feed-Engine kannst du solche Feeds im Makaira einfach und schnell generieren lassen. Feeds sind über eine URL abrufbar und werden mit jedem Abruf neu erstellt. Eine aufwendige Einrichtung zum zeitgesteuerten Erstellen eines Feeds entfällt somit. Werden Feeds für die automatisch Weiterverarbeitung in anderen Systemen benutzt, bieten wir eine Benachrichtigung per Mail an falls mal etwas schief geht. Kontaktiere den Support falls du diese Option nutzen möchtest.
Der Inhalt eines Feeds ist immer auf aktuellem Stand, weil er bei jedem Abruf dynamisch generiert wird.
Artikelauswahl
1. Welche Artikel sollen exportiert werden ?
- Aufgabenstellung (Beispiel)
- Du möchtest einen Feed erstellen, der alle aktiven Artikel eines bestimmen Herstellers exportiert, welche in den Farben rot, grün oder blau verfügbar sind.
- a) Filter für Vaterartikel
-
Erstellung eines primären Streams, welcher einen Filter über allen verfügbaren Vaterartikeln definiert
Beispiel: alle aktiven Artikel und Hersteller gleich „Adidas“
- b) Filter für Varianten
-
Erstellung eines sekundären Streams, welcher die Varianten je Vaterartikel filtert (nur relevant, wenn auch Varianten exportiert werden sollen)
Beispiel: alle aktiven Artikel, die verfügbar sind (stock > 0) und Attribut „Farbe“ gleich „rot“ oder „grün“ oder „blau“
Die Suchlogik filtert mittels des primären Product-Streams alle Vaterartikel. Werden Varianten ebenfalls exportiert, so werden mittels des sekundären Product-Streams alle Varianten je Vaterartikel gefiltert. Sollte kein sekundären Product-Stream angegeben werden, enthält jeder Vaterartikel alle seine Varianten.
Basiseinstellungen
2. URL, Format und Co.
- Name
- der konfigurierbare Teil der URL, unter welcher der Feed später aufgerufen wird (erlaubte Zeichen sind Buchstaben und Ziffern, alles andere wird zu einem Unterstrich gewandelt)
- Stream - Filter für Vaterartikel (Pflichtangabe)
- der in Schritt 1.a konfigurierte Stream
- Vaterartikel exportieren?
- Vaterartikel sollen in meinem Feed exportiert werden
- Varianten exportieren?
- Varianten sollen in meinem Feed exportiert werden
- Vaterartikel nur exportieren, wenn keine Varianten vorhanden
-
- es werden Varianten in meinem Feed exportiert und Vaterartikel, welche keine Varianten haben
- „keine“ bedeutet, der Vaterartikel kann durchaus Varianten haben, allerdings ergibt der Filter für Varianten eine leere Menge
- diese Option setzt vorraus, dass Vaterartikel exportieren? aktiviert ist
Beispiel: nur Varianten
- Stream - Filter für Varianten (optional)
- falls notwendig, der in Schritt 1.b konfigurierte Stream, ansonsten werden standardmäßig alle Varianten je Vaterartikel ausgeliefert
- Content-Type
-
das Datenformat, in dem der Feed erstellt werden soll
(technisch: der Wert für den HTTP-Header „Content-Type“)
- Trennzeichen für Felder
- (nur CSV) definiert das Trennzeichen der Datenspalten im Feed
- Feld-Wrapper
- (nur CSV) definiert das Zeichen, mit welchem Datenwerte flankiert werden sollen
- Spaltennamen in erster Zeile anzeigen?
- (nur CSV) die erste Zeile im Feed soll die Spaltennamen enthalten
- Header
- (kein CSV) Twig-Template, welches vor allen Artikeln gerendert wird
- Footer
-
(kein CSV) Twig-Template, welches nach dem letzten Artikel gerendert wird
Beispiel: XML Header & Footer
- Zeichenfolge für Zeilenende
- definiert eine Zeichenkette, welche am Ende eines jeden Artikels/Variante geschrieben wird (kein Template)
- optionale Variablen (Expertenmodus)
-
Twig-Template, welches vor jedem Template der Datenfelder eingebunden wird (für globale Funktionen/Variablen, z.B. Shop-URL)
Beispiel: globale Variablen bzw. Funktionen
optonale Variablen(Expertenmodus)
...
Datenstruktur & -ausgabe
3. Welche Artikeldaten sollen exportiert werden ?
Aufgabenstellung (Beispiel)
Du möchtest in deinem Feed folgende Artikeldaten exportieren:
- die Artikelnummer
- den Namen
- den Preis (formatiert auf 2 Nachkommastellen)
- die ausführliche Beschreibung (beschnitten auf max. 200 Zeichen)
Die Datenstruktur für deinen Feed erstellst du unter Struktur anpassen aus der Übersicht der Feeds heraus.
In der ersten Spalte sollte der Titel eingetragen werden. In der zweiten das Datenfeld, aus dem der Wert für den jeweiligen Eintrag im Feed genommen werden soll.
Beispiel: Struktur für die oben konstruierte Aufgabe
Jetzt möchten wir den Preis immer auf 2 Nachkommastellen formatieren. Hierzu klicken wir in der entsprechenden Zeile auf Ausgabe bearbeiten, um das Standardtemplate zu bearbeiten.
Der hierfür verwendete Ausdruck gibt unser item in dem gewünschten Format aus. Für eine ausführliche Erläuterung der Möglichkeiten der verwendeten Template-Engine siehe Twig-Templates.
Um den Beschreibungstext auf 200 Zeichen zu beschneiden, bearbeiten wir auch dieses Template.
Unter Verwendung der optionalen Variablen (siehe Basiseinstellungen) können wir hier diese Formatierung flexibel gestalten.
Am Ende sollte unsere Feedstruktur dann in etwa so aussehen.
Twig-Template
Was ist ein Twig-Template?
Twig ist eine Template-Engine für Symfony. Eine vollständige Übersicht aller im Twig-Basispaket enthaltenen Tags, Filter, Funktionen, Test sowie Operatoren findest du in der Twig Documentation. Alles mit ausführlichen Beispielen.
Vordefinierte Templatevariablen
Header & Footer
language
-
die im Feed verwendete Sprache (Auswahl über URL)
header
-
Beschriftung aller Datensspalten
fields
-
Feldbezeichner der Datenspalten
Variablen für Feed-Inhalte
iCountLine
-
enthält die aktuelle Zeilennummer
language
-
die im Feed verwendete Sprache (Auswahl über URL)
header
-
Beschriftung aller Datensspalten
fields
-
Feldbezeichner der Datenspalten
item
-
aktueller Datenwert
feedItem
-
aktueller Datensatz (komplettes Dokument)
iCountVariantMax
-
Gesamtzahl aller Varianten eines Vaterartikels
Variablen für Feed-Inhalte bei Varianten (auch makaira-product genannt)
iCountParent
Zähler der Vaterartikel, die Varianten enthalten (nützlich, wenn man nur Varianten rendert)
parent
aktueller Vaterartikel (nur beim Rendern einer Variante)
Variablen für Feed-Inhalte bei Produkten (auch makaira-productgroup genannt)
iCountVariant
Zähler der aktuellen Variante
makaira-product
-
Array aller Varianten des Produkts oder aller Varianten die auf den konfigurierten Varianten-Stream matchen. Achtung: Nur verfügbar, wenn sowohl Produkte als auch Varianten im Feed ausgegeben werden.
Zum Testen des Feeds empfiehlt es sich, einen primären Stream zu erstellen, welcher nur wenige Artikel filtert. Somit benötigt der Feed nur wenig Ressourcen bzw. Zeit während der Testphase.