|
Hallo zusammen,
um einen Magento Shop datenschutzkonform zu machen, möchte ich gerne die Ausgabe des Google Analytics Code im Magento Frontend um die Zeile “_gaq.push(["_gat._anonymizeIp"]);" erweitern. Dazu habe ich ein eigenes Modul erstellt, das die Funktion “_toHtml()” aus dem Block “/app/code/core/Mage/GoogleAnalytics/Block/Ga.php” überschreiben soll. Das klappt auch so weit ganz gut, nur leider wird der alte Code nicht ersetzt.
Dafür habe ich bisher folgendes gemacht:
- Unter “/app/code/local/” den Ordner “Kruse” angelegt
- im Ordner “Kruse” die Ordner “Block” und “etc” erstellt
- im Ordner “Block” die Datei “Ga.php” erstellt
- im Ordner “etc” die Datei “config.xml” erstellt
- im Ordner “/etc/modules” die Datei “Kruse_GoogleAnalytics.xml” erstellt
Die Dateien im Einzelnen:
“Ga.php”
class Kruse_GoogleAnalytics_Block_Ga extends Mage_GoogleAnalytics_Block_Ga { public function _toHtml() { if (!Mage::getStoreConfigFlag('google/analytics/active')) { return ''; }
$this->addText(' <!-- BEGIN GOOGLE ANALYTICS CODE --> <script type="text/javascript"> //<![CDATA[ (function() { var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true; ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\'; (document.getElementsByTagName(\'head\')[0] || document.getElementsByTagName(\'body\')[0]).appendChild(ga); })();
var _gaq = _gaq || []; _gaq.push(["_setAccount", "' . $this->getAccount() . '"]); _gaq.push(["_gat._anonymizeIp"]); _gaq.push(["_trackPageview", "'.$this->getPageName().'"]); //]]> </script> <!-- END GOOGLE ANALYTICS CODE --> ');
$this->addText($this->getQuoteOrdersHtml());
if ($this->getGoogleCheckout()) { $protocol = Mage::app()->getStore()->isCurrentlySecure() ? 'https' : 'http'; $this->addText('<script src="'.$protocol.'://checkout.google.com/files/digital/ga_post.js" type="text/javascript"></script>); }
return parent::_toHtml(); } }
“config.xml”
<?xml version="1.0"?> <config> <modules> <Kruse_GoogleAnalytics> <version>0.1.0</version> </Kruse_GoogleAnalytics> </modules>
<global> <blocks> <googleanalytics> <rewrite> <ga>Kruse_GoogleAnalytics_Block_Ga</ga> </rewrite> </googleanalytics> </blocks> </global> </config>
“Kruse_GoogleAnalytics.xml”
<?xml version="1.0"?> <config> <modules> <Kruse_GoogleAnalytics> <active>true</active> <codePool>local</codePool> </Kruse_GoogleAnalytics> </modules> </config>
Wo liegt mein Fehler?
Hat einer eine Idee?
Kann doch nur eine Kleinigkeit sein, oder?
|