在magento 后台设置好google分析账户后,发现打开网站有一条js脚本的错误:
_gaq is not defined.
很奇怪这是全新安装的的版本,而且是最新版。难道是BUG。上网搜索一下,找到了解决办法:
http://www.magentocommerce.com/bug-tracking/issue/?issue=8492
app/design/frontend/base/default/layout/googleanalytics.xml
建议在自己的magento模板目录中创建此件。
<!-- Mage_GoogleAnalytics -->
<reference name="after_body_start">
<block type="googleanalytics/ga" name="google_analytics" as="google_analytics" />
</reference>
修改成
<!-- Mage_GoogleAnalytics -->
<reference name="before_body_end"> <<<<<<<<<<<<<<<<<<<<<<
<block type="googleanalytics/ga" name="google_analytics" as="google_analytics" />
</reference>
编辑app/code/core/Mage/GoogleAnalytics/Block/Ga.php
没办法,如果你有时间,你可以重载,以保持比较好的兼容性:
$this->addText('
<!-- BEGIN GOOGLE ANALYTICS CODE 1-->
<script type="text/javascript">
//<![CDATA[
var _gaq = _gaq || []; <<<<<
_gaq.push(["_setAccount", "' . $this->getAccount() . '"]); <<<<<
_gaq.push(["_trackPageview", "'.$this->getPageName().'"]); <<<<<
(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);
})();
//]]>
</script>
<!-- END GOOGLE ANALYTICS CODE -->