2013-04-13 62 views
8

我正尝试在我的magento的页脚中加载js文件。我正在使用这段代码,但它给了我一个错误。任何帮助?非常感谢!Magento将Js添加到页脚

code used in local.xml: 

<layout> 
<default> 
    <reference name="footer"> 
     <action method="addJs"><script>js/file.js</script></action> 
    </reference> 
</default> 
</layout> 
+0

“,但它给我回一个错误“,至极错误? – plalx

回答

1

引用我的答案在这里:
How to add Javascript files in body part (not header) through layout xml files in magento

最好的办法是做一个一个.phtml文件与JS链接,并使用这种格式将它添加到您的页脚:

<layout> 
    <default> 
     <reference name="footer"> 
      <block type="core/template" name="unique_name_here" template="path/to/js.phtml" /> 
     </reference> 
    </default> 
</layout> 

对于像这样的引用,页脚会自动加载所有的子html块。父.phtml模板文件可能需要在其中显示getChildHtml调用,如下所示:

<?php echo $this->getChildHtml('unique_name_here'); ?> 

应该这样做。

5

对于Magento v1.6 +(需要测试旧版本);

1 - 创建page/html/footer/extras.phtml一个模板文件与此内容:

<?php echo $this->getCssJsHtml() ?> 

2 - 这个网站节点添加到您的布局XML:

<reference name="before_body_end"> 
<block type="page/html_head" name="extra_js" as="extraJs" after="-" template="page/html/footer/extras.phtml"> 
    <action method="addItem"><type>skin_js</type><name>js/jquery.min.js</name></action> 
</block> 

3 - 这就是它!

22

找到你的主题page.xml并找到以下

<block type="core/text_list" name="before_body_end" as="before_body_end" translate="label"> 

,并插入以下之前:

<block type="page/html_head" name="jsfooter" as="jsfooter" template="page/html/jsfooter.phtml"> 
    <action method="addJs"><script>your_script.js</script></action> 
</block> 

app/design/frontend/[package]/[theme]/template/page/html/jsfooter.phtml创建模板文件,并把以下内容:

<?php echo $this->getCssJsHtml() ?> 

在关闭t之前在模板中添加以下内容AG:

<?php echo $this->getChildHtml('jsfooter') ?> 
+0

我试过了。很好的工作.. +1 – Shatir

0

您可以在page.xml添加新的块

<block type="core/text_list" name="before_body_end" as="before_body_end" translate="label"> 
    <block type="page/html_head" name="footerjscss" as="footerjscss" after="-" template="page/html/footerjscss.phtml"/> 
</block> 

再加入JS & CSS文件中任何layout.xml

<reference name="footerjscss"> 
    <action method="addItem"><type>skin_js</type><name>js/slideshow.js</name></action> 
    <action method="addItem"><type>skin_css</type><name>css/madisonisland.css</name><params/><if/></action> 
</reference> 

创建页面文件的一个.phtml/html/footerjscss.phtml并添加以下内容

<?php echo $this->getCssJsHtml() ?> 

现在叫块在页面模板“3columns.phtml”等,您将需要输出该块标记之前:

<?php echo $this->getChildHtml('before_body_end') ?> 

参考代码在这里:http://blog.rahuldadhich.com/magento-load-css-js-footer/