Benutzer-Werkzeuge

Webseiten-Werkzeuge


tutorials:t4_productfeedgoogle

Produktfeed für Google

Was ist ein Produkt-Feed?

Unter einem Produkt-Feed versteht man eine detaillierte Übersicht über ein Produktportfolio mit Informationen über die einzelnen Produkte. Mit dem Produkt-Feed werden die Produktdaten für externe Anwendungen bereitgestellt. Dies können zum Beispiel Suchmaschinen oder Preisvergleichsportale sein.

Je nach Suchmaschine oder Portal unterscheiden sich die Anforderungen bzw. die Inhalte eines solchen Produkt-Feed. Einer der am weitesten verbreiteten und verwendeten ist der Google Produkt-Feed. Dieser soll Gegenstand des Tutorials sein. Die Vorgehensweise an sich ist aber auf die meisten anderen Feed-Formate übertragbar.

Datenbasis für den Produkt-Feed

Mit Hilfe der item/get-Methode des webservice_SmartGate kann man sich zunächst die notwendige Datenbasis für den Produkt-Feed erstellen.

Um über die item/get-Methode die gewünschten Produkte zu ermitteln, empfiehlt es sich, ein eigenes Template für das webservice_SmartGate zu erstellen, welches die entsprechenden Filterbedingungen (z.B. Verfügbarkeit) dafür enthält. Prinzipiell kann natürlich auch ein anderes bereits bestehendes Template verwendet werden. An dieser Stelle verwenden wir das bestehende Template „ItemList“ aus "Hallo Welt".

Die Daten erhalten wir auf Kommandozeile per

 curl 'http://dbap-demo.dstore.de/default/item/get?Template=ItemList' > feed-data.xml

Umwandlung per XSLT

Wenn wir nun auf das Ergebnis das folgende XSL-Template anwenden wird das item/get-XML Dokument in das Zielformat transformiert.

t4_googlemerchant.xsl

Mit dem Hilfsprogramm „saxon“ funktioniert das dann so:

 java -jar saxon9he.jar -s:feed-data.xml -xsl:t4_googlemerchant.xsl > google_merchant_feed.xml 

Für Fortgeschrittene

Das Ganze kann man jetzt auch als Einzeiler mit einer Ausgabeumleitung machen.

 curl 'http://dbap-demo.dstore.de/default/item/get?Template=ItemList' --compressed --silent --show-error | saxon -s:-  -xsl:t4_googlemerchant.xsl > google_merchant_feed.xml

Anmerkungen:

  • „saxon“ ist hier einfach ein alias für „java -jar /Pfad/ZuSaxon/saxon9he.jar“
  • curl --compressed ist gerade bei großen Datenmengen sinnvoll und führt zu einer komprimierten Übertragung der XMl-Daten
  • Statt der Umleitung in eine lokale Datei kann man auch wieder in curl umleiten und einen automatischen FTP-Upload veranlassen
tutorials/t4_productfeedgoogle.txt · Zuletzt geändert: 13.11.2014 (Externe Bearbeitung)