Antwort #15 am: 05. Mai 2011, 11:54:16
So, ich hab es fast geschafft.
Funktioniert mit einer Smarty-Variable leider nicht. Ich hab es jetzt wie folgt gemacht:
in der checkout_success.php
// Piwik Conversion tracking
$ot_query = xtc_db_query("select value from ".TABLE_ORDERS_TOTAL." where orders_id = '".$last_order."' and class='ot_total'");
$orders_total = xtc_db_fetch_array($ot_query);
$piwik_wert= $orders_total['value'];
in der application_bottom.php
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://piwikurl.tld/" : "http://piwikurl.tld/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
<?php if ($piwik_wert> 0) {print "piwikTracker.trackGoal(7, $piwik_wert); \n";}?>
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://piwikurl.tld/piwik.php?idsite=1" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tracking Code -->
Nun trackt Piwik das Goal inklusive Wert. Einziges kleines Manko: Bei einem Warenkorbwert von 24,40 EUR werden nur 24,39 EUR im Piwik Ziel gerechnet. Es fehlt also ein Cent. Ich kann mit dieser Abweichung leben. Also funktioniert bedingt.
Die Bedingung könnte vermutlich auch
<?php if ($_SERVER['SCRIPT_NAME'] == "/checkout_success.php";)
lauten.
Grüße Jens