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“

image-1602062604441.png

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“

image-1602062608637.png

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

image-1602063650277.png

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

image-1602063666228.png

Stream - Filter für Varianten (optional)
falls notwendig, der in Schritt 1.b konfigurierte Stream, ansonsten werden standardmäßig alle Varianten je Vaterartikel ausgeliefert

image-1602063691589.png

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

image-1602063707429.png

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

image-1602063717257.png

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

image-1602064137376.png

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.

image-1602064144986.png

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.

image-1602064148803.png

Unter Verwendung der optionalen Variablen (siehe Basiseinstellungen) können wir hier diese Formatierung flexibel gestalten.

image-1602064152494.png

Am Ende sollte unsere Feedstruktur dann in etwa so aussehen.

image-1602064165699.png

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.