Magento + Data Feed Manager = Multi-Channel – Teil 2

StartMagento & E-Commerce BlogMagentoMagento + Data Feed Manager = Multi-Channel – Teil 2

In dem folgenden Beitrag geht es um die Nutzung des Wyomind Data Feed Managers für die Generierung von Datenfeeds für Preissuchmaschinen, Preisportale & Co. Aufgrund des Umfangs des Artikels habe ich mich dazu entschlossen, diesen in mehrere Teile zu untergliedern:

Gliederung

Du befindest dich aktuell im zweiten Teil meiner Artikelserie. Solltest du aus Versehen Teil 1 übersprungen haben, kannst Du über die Gliederung zum ersten Teil navigieren. Falls nicht geht’s jetzt direkt mit Teil 2 weiter!

Erstellen und Konfigurieren von Datenfeeds

Nach der erfolgreichen Installation und Aktivierung, kann es nun mit der Erstellung der Datenfeeds weitergehen. Der Data Feed Manager befindet sich im Punkt Katalog -> Data Feed Manager und untergliedert sich in die Punkte Data Feeds, Custom Attributes und Individualisierungsoptionen. Die letzten beiden Punkte kannst Du an dieser Stelle integrieren, da ziemlich komplex und mächtig. Aufgrund dessen gehe ich in einem späteren Teil der Artikelserie ganz speziell auf diese beiden Punkte ein,

Die zentrale Anlaufstelle ist der Punkt Data Feeds, den Du idealerweise jetzt ebenfalls öffnest:

screen-3

Von Haus aus werden eine Vielzahl an Datenfeeds bereitgestellt.

Was Dir direkt beim erstmaligen Aufruf dieses Menüpunktes auffallen sollte, ist die Vielzahl der bereits zur Verfügung stehenden Datenfeed Vorlagen (so genannte Templates). Die Extension bringt einige vorkonfigurierte Templates mit, wodurch eine Anbindung an z.B. Google Shopping erst einmal gar kein Problem darstellt. Die Datenfeed Templates sind sehr US-Amerikanisch geprägt (Logisch, da kommen die Entwickler her). Viele Dienste spielen bei uns keine Rolle, weswegen nur wenige Templates in Deutschland sinnvoll genutzt werden können. Die Entwickler haben sich jedoch, wie man an den bereits angelegten Vorlagen sehen kann, Gedanken gemacht und möchten dem Benutzer möglichst viel Aufwand ersparen und notwendige Arbeit abnehmen. Klasse Einstellung!

Aber beginnen wir von Anfang an. Der Data Feed Manager basiert auf dem Prinzip der Templates. Ein Template besteht aus den Produktdaten, die man exportieren möchte sowie der Einschränkung von Produkten bzw. Kategorien (Also einem Produktfilter) und weiterführenden Informationen z.B. die Häufigkeit des Datenexports. Dementsprechend musst bzw. solltest Du für jede Datenquelle bzw. Datenexport ein eigenes Template erstellen. Als Ergebnis wirst Du ein Template für GoogleShopping, billiger.de, guenstiger.de etc. haben.

Ein Template kannst Du erstellen, in dem Du in der Data Feed Manager Übersichtsseite, auf der Du dich gerade befindest, auf Create new template klickst. Anschließend wirst du auf folgende Eingabemaske weitergeleitet.

Die Anlage eines neuen Templates

Die Anlage eines neuen Templates

 

Im ersten Schritt musst Du deinem Template bzw. Feed einen Namen geben. Der Name dient nicht ausschließlich zur Identifizierung des Feeds im Backend, sondern wird auch als Dateinamen verwendet. Wähle einen aussagekräftigen Titel und verzichte idealerweise auf Sonderzeichen, da sonst der Export ein wenig spinnen könnte.

In meinem Fall wähle ich als Name „testexport“, da ich einen beispielhaften Export erzeugen möchte. Die zweite Auswahl wird jetzt richtig interessant: Der Data Feed Manger unterstützt mehrere Export-Formate, dazu zählen XML, CSV, TXT und TSV. Abgesehen von XML sind die restlichen Formate reine „Textformate“ d.h. pro Zeile wird ein Datensatz in eine Textdatei geschrieben. Vom Aufbau unterscheiden sich diese Format alle ein wenig, aber das Prinzip ist identisch. Bei XML sieht es ein wenig anders aus. Handelt es sich hierbei doch um einen sehr strukturierten Aufbau einer Datei, der etwas komplexer ist. Die höhere Komplexität spiegelt sich ebenso in der Erstellung der Datei wieder, da hier im Gegensatz zu den anderen Formaten keine schöne Oberfläche zur Verfügung steht. Aber keine Panik, das können wir in einem späteren Teil der Artikelserie im Detail betrachte, wenn wir uns den Datenfeed für Google anschauen. An dieser Stelle wähle ich und somit auch Du beim File Typ CSV, da ich eine ganz klassische Textdatei erstellen möchte.

Nach der Auswahl des Dateiformats musst Du entscheiden, wie Du den Dateinamen des Feeds aufbauen möchtest und in welchem Zeichensatz die Daten exportiert werden. Ich verwende an dieser Stelle immer „filename.ext“ sowie UTF8. Die Ergänzung des Datums im Dateinamen macht keinen Sinn, da die Gegenseite, sprich die Preisportale, immer eine fixe URL für die Datei benötigen, um diese einzulesen. Anders sieht es aus, wenn man eine Art „Backup-Export“ entwickelt. In einem solchen Fall würde das Datum im Dateinamen definitiv Sinn ergeben, bei Exporte für Preissuchmaschinen ist dies aber in der Regel nicht der Fall. Die Möglichkeit hättest Du aber dennoch, auch hier zeigen sich die umfangreichen Einstellungsmöglichkeiten des Data Feed Managers.

Die Codierung des Zeichensatzes hängt letztendlich davon ab, was von der gegenüberliegenden Seite gefordert ist. Mit UTF8 fährt man in der Regel richtig. Beim Pfad kannst Du angeben, in welchem Ordner Du die Datei exportieren möchtest. Verwendest Du als Pfadangabe / wird der Feed im Root-Verzeichnis der Magento Installation exportiert. Gibst Du /feed/ an, landet der Feed im Unterordner namens „feed“. Diese Einstellung ist letztendlich eine Frage des Geschmacks, ich bin ein Fan vom Export ins Hauptverzeichnis. Da ein Template nicht zwangsläufig aktiv sein muss, kannst Du im nächsten Schritt den Status auf disabled oder enabled setzen. Ist ein Template disabled wird logischerweise kein Feed generiert.

Der StoreView, das ist das nächste Auswahlfeld, schränkt beim Export die Werte auf den ausgewählten StoreView ein. Das klingt jetzt komplizierter, als es in der Praxis ist. Sollte Dein Shop mehrsprachig sein, so ist in der Regel jede Sprache als StoreView angelegt. Wenn Du nun einen lokalisierten Export stellen möchtest, beispielsweise für eine US-Amerikanische Seite, musst Du im StoreView den englischen StoreView auswählen. Solltest Du nur einen StoreView haben (was oftmals bei Magento Installationen vorkommt), kannst Du an dieser Stelle sowieso nur den einzig übrigen Eintrag auswählen.

Durch die Auswahl eines StoreViews kannst Du die verwendete Lokalisierung bestimmen

Durch die Auswahl eines StoreViews kannst Du die verwendete Lokalisierung bestimmen

 

Nach diesen Einstellungen wird’s für den Datenfeed richtig spannend, denn jetzt kommst Du zum eigentlich Inhalt Deines Feeds. Im Extra Header Feld kannst Du (per Freitext) Informationen hinterlegen, die an oberster Stelle der CSV Datei ausgegeben werden. In der Regel kannst Du das aber ignorieren. Die nächste Option fragt Dich, ob du einen Header Ausgeben möchtest (Include Header). Beim Header handelt es sich um die Spaltenüberschriften der CSV Datei. Es kommt immer darauf an, wie die Gegenseite den Datenfeed importiert, aber oftmals wird für die korrekte Zuordnung der Werte der Header benötigt. Im Header steht beispielsweise SKU, Artikelname, Preis. Dadurch „versteht“ der Import, auf was die erste Spalte gematcht werden muss, da als Überschrift SKU (also Artikelnummer) angegeben ist. Es gibt jedoch auch Importe, die eine solche Bezeichnungszeile nicht benötige. Das musst Du letztendlich mit dem Preisportal, der Preissuchmaschine bzw. Gegenseite abstimmen. Der Data Feed Manager erlaubt die Konfiguration ob Du den Header exportieren möchtest, oder auch nicht.

Über den Button Add Field kannst Du die Spalten (Sprich Werte) für Deinen Datenfeed hinzufügen. Schau dir am besten den folgenden Screenshot an, denn ich habe exemplarisch ein paar Felder hinzugefügt.

Setup des Datenexports

Setup des Datenexports

 

Bei einem CSV-Template (später beim Editieren des Google Shopping Templates mehr hierzu) kannst Du über Add field Spalten hinzufügen (stelle dir bildlich eine Excel-Liste vor). Beim „Column Name“ gibst Du den Namen der Spalte an z.B. Artikelnummer, Artikelname. Rechts daneben (Pattern) musst Du das Attribut hinzufügen. In Magento heißt beispielsweise das Attribut Artikelnummer „sku“ bzw. hat den Attribut-Code sku. Das Attribut wird in geschweiften Klammern im Feld Pattern hinzugefügt, wodurch man bei der Artikelnummer also {sku} schreibt. Was passiert beim Export konkret? Der Data Feed Manager legt eine Spalte namens Artikelnummer an und schreibt in jede Zeile (für jedes Produkt) den Inhalt aus dem Feld Pattern, also greift auf den Inhalt des Attributs sku zurück.

Solltest Du nicht wissen, welches Attribut welchen Attribut-Code hat, kannst Du das unter Katalog -> Attribute -> Attribute verwalten nachschauen. Selbstverständlich kannst Du auch selbst erstellte Attribute verwenden, einfach in dem Du den Attribut-Code in das Feld Pattern schreibst. Die Reihenfolge der Attribute kannst Du mit den Pfeilen auf der rechten Seite beeinflussen und so auch nachträglich die Ausgabenreihenfolge der Attribute ändern.

In der Praxis musst Du wissen, welche Information die gegenüberliegende Seite benötigt. Normalerweise erhältst Du eine Dokumentation und weiterführende Informationen und weißt dadurch, welche Spalten bzw. Werte benötigt werden. Basierend darauf legst Du diese mit „Add Field“ an und ergänzt im Bereich pattern den Namen des jeweiligen Attributs.

Formatierung der ausgegebenen Werte & Special Attribute

Das Hinzufügen der Attribute ist relativ einfach, aber Vorsicht denn jetzt wird es kompliziert! Was einfach klingt, ist in der Praxis nämlich etwas tricky. Früher oder später wirst Du das Problem haben, dass die Produktinformationen anders vorliegen, als Du sie benötigst. Einfaches Beispiel: Du darfst bei der Produktbeschreibung nur 200 Zeilen exportieren, aber Deine ganzen Produkttexte sind enorm lang. Hierfür bietet der Data Feed Manager Funktionen und sogar spezielle Attribute. Eine komplette Liste findest du unter https://www.wyomind.com/data-feed-manager-magento.html

Möchtest Du beispielsweise die Produktbeschreibung komplett ohne HTML Code exportieren, schreibst Du in das Pattern Feld anstelle von {description} den Wert {description,[htmlentities]}. Das Attribut wird um eine (PHP) Funktion ergänzt. Neben selbst entwickelten Funktionen stehen viele in PHP standardmäßig vorhandene Funktionen zur Verfügung. Dadurch kannst Du die Ausgabe der Produktinformationen modifizieren und das Ergebnis genau so ausgeben, wie Deine Gegenseite es erwartet.

Neben den Formatierungsmöglichkeiten hat der Data Feed Manager auch „spezielle Attribute“. Das sind keine Attribute, wie sie in der Attributverwaltung auftauchen, sondern viel mehr Platzhalter die häufig verwendete Informationen bereitstellen. Ein solches Attribut heißt {url} und exportiert die URL des jeweiligen Produktes. Das ist praktisch, denn die Produkt-URL benötigt man so gut wie in jedem Feed, aber es gibt genau genommen kein Attribut namens URL welches im System hinterlegt ist. Die Entwickler des Data Feed Managers stellen aber solche speziellen Attribute bereit, da es sich einfach um den Zugriff auf Werte handelt, die Du in so gut wie jedem Datenfeed benötigst.

Eine Auflistung aller Formatierungsmöglichkeiten und speziellen Attribute würde an dieser Stelle den Rahmen komplett sprengen, schau Dir daher bitte die Seite https://www.wyomind.com/data-feed-manager-magento.html etwas genauer an, denn hier ist das komplette Handlung und die Möglichkeiten sehr gut beschrieben.

Nachdem Du die Spalten und Werte hinzugefügt hast, scrolle bis an den unteren Rand der Seite denn hier befinden sich noch ein paar weitere Optionen, die für die Generierung des Datenfeeds interessant sind. Neben dem Header gibts es ein Freitextfeld für den Footer. Bei Bedarf kannst Du Informationen per Freitext hinterlegen, diese werden am unteren Ende der CSV Datei beim Export berücksichtigt. In den meisten Fällen, kannst Du diese Option jedoch ignorieren.

Wesentlich wichtiger sind die nächsten Punkte Fields delimiterFields enclosureEscape character. Da alle Informationen in eine Textdatei geschrieben werden, ist es notwendig zu definieren durch welches Zeichen die Werte von einander getrennt werden. Dies kannst du mit der Option Fields delimiter steuern. Per Default werden die Datensätze durch ein Semikolon von einander getrennt, was in der Regel in Ordnung ist. Auch hier muss dir die Plattform, der Du den Feed bereitstellst, eine Info geben welcher Zeichentrenner benötigt wird. Selbiges gilt für den Enclosure. Du kannst definieren, ob die Werte von einem Zeichen umschlossen werden sollen. Diese Option macht Sinn, denn sobald du als Zeichentrenner ein Semikolon verwendest und in einem Produktbeschreibungstext ein Semikolon vorkommt, kann es bei Import zu einem Problem kommen. Ist dein Text jedoch von einem Anführungszeichen umschlossen, sollte der Import kein Fehler erzeugen. Stimme auch den Enclosure mit der gegenüberliegenden Seite ab (Meine Empfehlung ist das Anführungszeichen). Und zu guter Letzt kannst Du bestimmten, durch welches Zeichen ein Wert escaped werden soll, hier ist die Standardeinstellung in Ordnung.

Klicke anschließend im linken Reiter auf Filters und setze Haken bei Product Type, Attributset und Product Visibility. Hinterfrage (noch) nicht die Einstellung und klicke einfach auf speichern. Der folgende Screenshot zeigt Dir, welche Haken Du bei welcher Option setzen musst:

Einstellungen für den Export

Einstellungen für den Export

 

Nachdem Du auf speichern geklickt hast, landest Du in der Feed-Übersicht und hast somit erfolgreich Deinen ersten Datenfeed erstellst. Öffne anschließend Deinen erstellten Datenfeed (in der Übersicht einfach ganz rechts im Dropdown auf Bearbeiten klicken) und klicke im oberen Bereich bei den Buttons auf Erstellen. Daraufhin wird Dein Datenfeed generiert und du kannst diesen unter der von Dir definierten URL abrufen, in der Übersicht der Datenfeeds siehst Du zusätzlich den kompletten Link zu Deiner Datei.

Die Basics der Datenfeed Generierung sind, wie Du gesehen hast, gar nicht so wild. Jedoch gibt es bei der Feed-Erstellung weitere Möglichkeiten und Optionen, speziell im Bezug auf die Eingrenzung der zu exportierenden Produkte. Dieser Punkt verdient einen eigenen Teil innerhalb der Serie, daher bin ich über die letzten Punkte ein wenig schnell „gesprungen“. Im nächsten Teil geht es speziell um die noch verbliebenen Reiter bei der Editierung und dem Erstellen eines Datenfeeds.

Du kannst also auf den nächsten Teil der Artikelserie gespannt sein, denn nachdem wir jetzt die Grundlagen gelegt haben, geht es nun um die Profi-Features!

 

2 thoughts on “Magento + Data Feed Manager = Multi-Channel – Teil 2

  1. Die Extension ist größtenteils verschlüsselt und vom Code her sehr unsauber programmiert. Habt ihr euch den Code mal angesehen? Da gibt es bessere Alternativen.

  2. Hallo Daniel,

    ja, man kommt früher oder später auch mit dem Code in Verbindung. Verschlüsselt oder nicht sehe ich in diesem Case nicht als kriegsentscheidend an, da man sich einklinken kann. Sauber oder nicht sauber, da müsste man erst einmal einen Maßstab ansetzen. Letztendlich läuft die Extension recht stabil und der Support ist bei Fragen auch immer recht flott. Alternativen gibts, wie überall im Leben, sicherlich ein paar.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.