Jon*_*Jon 3 javascript xml layout module magento
在magento我知道如何在页面布局文件中包含js文件.但是,如果我在自定义模块的某些页面上包含特定的javascript文件呢?例如,我正在编写一个可以使用产品视图和列表页面的自定义模块.我希望有一些布局更新,我可以使用我的模块,只包括我的javascript文件在产品视图和列表页面.
Dre*_*ter 18
您需要在模块配置文件中添加布局更新部分.基于你所说的你将在你的布局文件中需要这样的东西:
<?xml version="1.0"?>
<layout version="0.1.0">
<catalog_product_view>
<reference name="head">
<action method="addJs"><script>yourscript.js</script></action>
</reference>
</catalog_product_view>
<catalog_category_view>
<reference name="head">
<action method="addJs"><script>yourscript.js</script></action>
</reference>
</catalog_category_view>
</layout>
Run Code Online (Sandbox Code Playgroud)
然后在您的模块配置文件中,您将需要以下内容:
<frontend>
<layout>
<updates>
<yourmodule>
<file>yourlayout.xml</file>
</yourmodule>
</updates>
</layout>
</frontend>
Run Code Online (Sandbox Code Playgroud)
这假设yourscript.js位于js文件夹的根目录中.显然,你不想把它放在这里,所以做Jonathan建议和使用的:
<action method="addItem"><type>skin_js</type><name>path/file.js</name></action>
Run Code Online (Sandbox Code Playgroud)
并将你的js放在你的主题皮肤文件夹中.
祝好运!
您需要做的是找到要包含JS的页面的布局句柄,并将它们添加到自定义模块的布局XML中.例如,要在产品视图中包含JS,您可以将以下节点添加到布局中:
<catalog_product_view>
<reference name="head">
<action method="addJs"><script>path/file.js</script></action> **OR**
<action method="addItem"><type>skin_js</type><name>path/file.js</name></action>
</reference>
Run Code Online (Sandbox Code Playgroud)
根据JS文件的位置选择任一选项.查看默认的catalog.xml或review.xml以获取示例.
要计算布局句柄(例如catalog_product_view),您可以在他的博客中使用Alan Storm的优秀(和免费)LayoutViewer模块.
HTH,JD
| 归档时间: |
|
| 查看次数: |
32501 次 |
| 最近记录: |