2015-02-05 135 views
2

我需要在关闭“body”标签之前将我的magento商店的所有页面添加java脚本跟踪代码。有谁知道我需要把它放在什么文件中?我是否必须修改JavaScript的所有Magento或只是粘贴它?如何将javascript跟踪代码添加到所有magento页面?

+0

如果你的问题已经解决,你应该接受你认为是最好的答案。 – 2015-02-06 09:09:23

回答

2

要回答你的问题:我如何添加JavaScript来的每一页

在模板中,通常加载每个页面上的页脚块,所以要在这里找到PHTML文件;

app/design/frontend/XXX/YYY/template/page/html/footer.phtml 

xxx/yyy是你的主题目录。在这里添加跟踪代码,它会加载到每个页面上。

关于是否需要修改 - 这实际上取决于您期望的操作。如果你需要插入变量,比如购物篮值,客户编号(如果存在)等等,那么你需要添加这些php变量,这里就是你可能遇到的麻烦。如果您使用缓存,那么页脚可能不是最好的地方,因为您可能会在代码片段中使用缓存的变量值。如果它动态地拉动它的值,例如页面url,那么你会没事的。

另一个问题是,这将加载到您的结帐页面 - 所以如果它从http://位置调用js文件,您的页面将无法通过SSL验证。

2

您可以通过添加一个layout文件到您的模块配置做到这一点:

<config> 
    ... 
    <frontend> 
     <layout> 
      <updates> 
       <mymodule> 
        <file>mymodule.xml</file> 
       </mymodule> 
      </updates> 
     </layout> 
    </frontend> 
    ... 
</config> 

添加mymodule.xml文件到app/design/frontend/base/default/layout/文件夹,并摆在那里以下内容:

<layout version="1.0.0"> 
    <default> 
     <reference name="before_body_end"> 
      <block type="core/template" name="mytracking.block" after="-" template="mynamespace/mymodule/tracking.phtml"> 
       <action method="setCacheLifetime"><s>0</s></action> 
      </block> 
     </reference> 
    </default> 
</layout> 

现在你可以在此模板文件app/design/frontend/base/default/template/mynamespace/mymodule/tracking.phtml中添加您的跟踪JavaScript代码。它将打印在所有Magento页面中。

编辑

我已经添加了一段代码,禁用缓存为您追踪块,这要归功于@PixieMedia让我知道。

+0

这是非常整洁的,但考虑到OP的问题,它可能超出了他们的技能。另外,如何使它不被缓存?或者,他可以创建一个默认情况下不继承缓存的人造sidecart块。 – PixieMedia 2015-02-05 17:11:46

+0

我最初做了什么Pixie媒体建议,我看了Java脚本代码,并且唯一参考http是... – Lima 2015-02-05 18:12:22

+0

pa.src =('https:'== document.location.protocol?'https:': 'http:')+“// – Lima 2015-02-05 18:15:23

0

最简单的方法 - 通过后端,有一个专门为此需要的配置部分。

System -> Configuration -> General -> Design Section -> Footer Tab -> Miscellaneous HTML

它依赖于你的主题调用你的主模板文件的getAbsoluteFooter()方法的结束标记前右,只是意识到这一点。

<?php echo $this->getAbsoluteFooter() ?> 
</body> 
相关问题