将外部脚本添加到一个 Magento 页面

Adding External Scripts to one Magento page

我已经阅读了一点,但仍然一定遗漏了一些东西。

我有一个照片库页面,我使用精美的框在点击时显示较大版本的图像。我需要为 fancybox 添加两个脚本,jquery 和 fancybox 脚本。

我进入了图库 xml 页面,并将这段代码添加到其中,使其看起来像这样:

    <reference name="head">
        <action method="addJs">
            <type>jquery_js</type>
            <script>http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js</script>
        </action>
        <action method="addJs">
            <type>fancybox_js</type>
            <script>/fancybox/jquery.fancybox-1.3.4.pack.js</script>
        </action>

    </reference>

    <reference name="root">
        <action method="setTemplate">
            <template>page/1column.phtml</template>

...

但我不知道如何在我看来使用它们。当我转到该页面时,这些脚本仍然出现 404 错误。我可能遗漏了一些简单的事情,因为我以前从未解决过 magento 问题。

提前致谢, 艾丽莎

要在 Magento 布局中调用外部文件 XML 你可以添加一个块

<reference name="head">
    <block type="core/text" name="jquery.cdn.whatever.you.want.to.call.it">
        <action method="setText">
            <text><![CDATA[<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>]]></text>
        </action>
    </block>
</reference>

对于你本地的 fancybox 文件,(我假设它是本地托管的?),这取决于你保存它的位置,有一个根 js 文件夹,所以如果它在那里你可以使用:

<action method="addJs">
    <script>fancybox/jquery.fancybox-1.3.4.pack.js</script>
</action>

您不需要添加 <type>,因为 addJs 已经将其定义为 JS 类型,而且据我所知,fancybox_js 也不是一个选项请注意,开头没有 / ,脚本标记将使用尾部斜杠添加路径本身。

如果它在您的主题文件夹中,您可以使用:

<action method="addJs">
    <type>skin_js</type>
    <script>fancybox/jquery.fancybox-1.3.4.pack.js</script>
</action>

这将在您的主题 js 文件夹中查找引用文件。