xt:commerce (und weitere) und TradeDoubler Trackback-Pixel
Folgendes Modul integriert das TradeDoubler-Tracking in xt:commerce. Leider habe ich auf die schnelle keine Beschreibung des Modul-Systems für xt:commerce gefunden und auch ist der Code leider nicht sehr übersichtlich. Aus diesen Gründen habe ich mich dazu entschlossen, das Modul so zu entwickeln, dass man die index.php und die checkout_success.php editieren muss.
Download
tdG2 v0.1 steht nicht mehr zur Verfügung. Stattdessen hab ich ein Projekt bei GitHub angelegt.
Implementierung
Die tdG2.php muss im xtcommerce-Root in das Verzeichnis include/modules abgelegt werden und die 3 Konstanten tdG2_secretCode, tdG2_orgId und tdG2_eventId mit den Daten, die man von TradeDoubler bzw. dem Unternehmen, das die TradeDoubler Toolbox einsetzt, bekommen hat, anpassen.
In der index.php Zeile 26 den roten Code integrieren:
include ('includes/application_top.php');
include (DIR_WS_MODULES.'tdG2.php');
$tdG2 = &new tdG2();
$tdG2->saveTduid();
// create smarty elements
$smarty = new Smarty;
// include boxes
require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');
In der checkout_success.php Zeile 96 den roten Code integrieren:
$smarty->assign('language', $_SESSION['language']);
$smarty->assign('main_content', $main_content);
$smarty->caching = 0;
if (!defined(RM))
$smarty->load_filter('output', 'note');
include (DIR_WS_MODULES.'tdG2.php');
$tdG2 = &new tdG2();
$tdG2->getSetXtCommerceData($last_order);
$tdG2->sendTrackback();
$smarty->display(CURRENT_TEMPLATE.'/index.html');
include ('includes/application_bottom.php');
Das sollte es gewesen sein. Am Besten macht man nun in Absprache mit TradeDoubler einen Test-Sale, damit man sicher geht, dass alles korrekt funktioniert.
Nicht xt:commerce-Einsatz
Diese Klasse läßt sich nicht nur mit xt:commerce einsetzen, sondern prinzipiell mit jeder Shop-Software, die auf PHP aufsetzt. Dazu einfach die Klasse an einem passenden Ort ablegen, den ich PATH_TO_CLASSES nenne. Die 3 Konstanten tdG2_secretCode, tdG2_orgId und tdG2_eventId mit den TradeDoubler-Daten befüllen und der Landing-Page folgenden Code eingetragen:
include ('<PATH_TO_CLASSES>/tdG2.php');
$tdG2 = &new tdG2();
$tdG2->saveTduid();
Die Bestellbestätigungsseite schaut dann ein wenig anders als bei xt:commerce aus:
include ('<PATH_TO_CLASSES>/tdG2.php');
$tdG2 = &new tdG2();
$tdG2->setCurrency('EUR');
$tdG2->setOrderValue($orderValue);
$tdG2->setOrderValue($orderNumber);
$tdG2->sendTrackback();
Für Anmerkungen und Erfahrungsberichte bin ich dankbar.
Die Datei “tdG2 v0.1″ ist nicht mehr verfügbar!? Könnte jemand diese wieder online stellen? Danke im Voraus!
Hallo Gerhard,
lang hat es gedauert. Den Code habe ich auf GitHub verlegt. URL siehe oben.