8

我正在尝试在我的 magento 的页脚中加载 js 文件。我正在使用此代码,但它给了我一个错误。有什么帮助吗?非常感谢!

code used in local.xml: 

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

4 回答 4

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() ?>

在您的页面模板文件“1column.phtml”、“2columns-left.phtml”、“2columns-right.phtml”、“3columns.phtml”等中,您需要在标记之前输出此块:

<?php echo $this->getChildHtml('jsfooter') ?>
于 2013-10-24T06:19:32.957 回答
5

Magento v1.6+(需要在旧版本中测试);

page/html/footer/extras.phtml1 -使用此内容创建一个模板文件:

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

2 - 将此 html 节点添加到您的布局 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 - 就是这样!

于 2013-08-16T21:48:41.777 回答
1

在这里引用我的答案:
如何通过magento中的布局xml文件在正文部分(不是标题)中添加Javascript文件

最好的办法是使用 js 链接制作一个 .phtml 文件,并使用以下格式将其添加到页脚:

<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'); ?>

那应该这样做。

于 2013-05-24T22:32:38.490 回答
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>

然后在任何 layout.xml 中添加 JS & CSS 文件

<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>

在 page/html/footerjscss.phtml 中创建 .phtml 文件并添加以下内容

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

现在在页面模板“3columns.phtml”等中调用块。您需要在标记之前输出此块:

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

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

于 2017-09-29T20:57:15.547 回答