Der Original-Artikel wurde auf www.korbinian-pauli.de veröffentlicht.
Im Menü-Punkt “Manuals” im Publisher-Interface von TradeDoubler gibt es Dokument namens “Product Feed Manual”. Da dieses schon ein wenig angestaubt ist, möchte ich hier, wie man sich diese sog. “Unlimited List” für eine Produktsuchmaschine zu eigen macht, ohne dass man die Daten selber in einer Datenbank vorhalten muss, da das schon TradeDoubler für einen macht. In diesem Beitrag erkläre ich kurz, wie man das mit ein paar Zeilen PHP5-Code sehr einfach bewerkstelligen kann. Wie das dann aussehen kann, kann man sich unter kauf-base.de anschauen.
Bevor man damit allerdings loslegen kann, muss man sich bei TradeDoubler einen Account erstellen, wenn man noch keinen hat. Zusätzlich muss man beim Support von TradeDoubler (support.de at tradedoubler.com) sich für die “Unlimited List” freischalten lassen.
Wenn das erledigt ist, kann man via PHP ganz einfach auf auf die Daten zugreifen und entsprechend anzeigen. In folgender Tabelle sind alle möglichen Parameter, mit der man die Suche anpassen kann.
| Feld | Beschreibung | Beispiel |
| productName | nach Stichpunkten im Produktnamen suchen | (Panasonic LCD) |
| description | nach Stichpunkten in der Produktbeschreibung suchen | (Panasonic LCD) |
| minPrice | minimaler Preis | 94.93 |
| maxPrice | maximaler Preis | 94.93 |
| sort | Sortierung nach | price oder name |
| recurse | Sortierreihenfolge | recurse |
| maxResults | max Anzahl an Treffern | 1 – 100 |
| programs | beschränkt Suche auf bestimmte Programme | 3289,5488,17569 |
| categoryId | beschränkt Suche auf eine bestimmte Kategorie | 40 |
| recurse | sucht auch in Unterkategorien der unter categoryId angegebenen Kategorie | true |
| categoryId | beschränkt Suche auf eine bestimmte Kategorie | 40 |
| g | Die Daten nur eines bestimmten Produkts abrufen (TradeDoubler ID) | 70484149 |
| exclProductIds | Schließt bestimmte Produkte aus der Suche aus | 10320115,12150946 |
Mit einem var_dump($xml) kann man sich noch ansehen, welche Daten TradeDoubler zurückliefert.
<?php
$tdUrl = 'http://pf.tradedoubler.com/pf/pf?' .
'a=<eigene Affiliate ID>&' .
'xmlVersion=2&' .
'charset="UTF-8"&' .
'lang=de&' .
'sortBy=price&' .
'maxResults=100&' .
'productName=(Panasonic LCD)';
$ch = curl_init();
$timeout = 3;
curl_setopt($ch, CURLOPT_URL, $tdUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
try {
$xml = new SimpleXMLElement($data);
} catch (Exception $e) {
//throw new Exception ("TradeDoubler Produktfeed-XML konnte nicht interpretiert werden"); //Falls OO
exit();
}
foreach ($xml->product AS $array) {
echo $array->TDProductId . "<br/>";
echo $array->imageUrl . "<br/>";
echo $array->productUrl . "<br/>";
echo $array->name . "<br/>";
echo $array->price . "<br/>";
echo $array->currency . "<br/>";
echo $array->programName . "<br/>";
echo $array->programLogo . "<br/>";
echo $array->description . "<br/>";
}
Tags: product feed, produktliste, Technik