在 Magento 的皮肤 Javascript 之前加载外部 Javascript
Load external Javascript before skin Javascript in Magento
我正在尝试将 Google 地图 Javascript API 添加到我的 Magento 模块。
我遇到的问题是我包含的 core/text
块包含外部 Javascript 包含标记,仅在所有 addJs
操作之后出现.
这意味着我在 pvtl_stores.js
中针对 google
对象的脚本不起作用,因为 google
对象尚未初始化。
这是我的 local.xml
文件:
<layout>
<default>
<reference name="head">
<block type="core/text" name="google.maps" before="root">
<action method="setText">
<text><![CDATA[<script src="//maps.googleapis.com/maps/api/js"></script>]]></text>
</action>
</block>
<action method="addItem">
<type>skin_js</type>
<name>js/pvtl_stores.js</name>
</action>
</reference>
</default>
</layout>
有没有办法在 addJs
操作之前加载 core/text
块?
顺便说一下,如果问题不是很明显,我是 Magento 编程的新手!
在 root\js
文件夹中上传您的 Js。并在顶部的 app\design\frontend\base\default\template\page\html\head.phtml
文件中调用此代码。
<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS)."/yourjs.js"; ?>
或者直接调用
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.js"></script>
更新
你必须先下载js然后
转到 app\design\frontend\rwd\default\layout
page.xml
(如果您使用的是默认主题,否则转到 yourtheme\default\layout
),然后您在此处
<block type="page/html_head" name="head" as="head">
<action method="addJs">
<script>yourjs/yourjs.js</script>
</action>
<action method="addJs">
<script>prototype/prototype.js</script>
</action>
我正在尝试将 Google 地图 Javascript API 添加到我的 Magento 模块。
我遇到的问题是我包含的 core/text
块包含外部 Javascript 包含标记,仅在所有 addJs
操作之后出现.
这意味着我在 pvtl_stores.js
中针对 google
对象的脚本不起作用,因为 google
对象尚未初始化。
这是我的 local.xml
文件:
<layout>
<default>
<reference name="head">
<block type="core/text" name="google.maps" before="root">
<action method="setText">
<text><![CDATA[<script src="//maps.googleapis.com/maps/api/js"></script>]]></text>
</action>
</block>
<action method="addItem">
<type>skin_js</type>
<name>js/pvtl_stores.js</name>
</action>
</reference>
</default>
</layout>
有没有办法在 addJs
操作之前加载 core/text
块?
顺便说一下,如果问题不是很明显,我是 Magento 编程的新手!
在 root\js
文件夹中上传您的 Js。并在顶部的 app\design\frontend\base\default\template\page\html\head.phtml
文件中调用此代码。
<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS)."/yourjs.js"; ?>
或者直接调用
<script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.2/jquery-ui.js"></script>
更新
你必须先下载js然后
转到 app\design\frontend\rwd\default\layout
page.xml
(如果您使用的是默认主题,否则转到 yourtheme\default\layout
),然后您在此处
<block type="page/html_head" name="head" as="head">
<action method="addJs">
<script>yourjs/yourjs.js</script>
</action>
<action method="addJs">
<script>prototype/prototype.js</script>
</action>