在magento中,我知道如何在页面布局文件中包含js文件。尽管如此,我是否仅使用自定义模块在特定页面上包含特定的JavaScript文件。 例如,我正在编写一个自定义模块,它将与产品视图和列表页面一起工作。因此,我希望有一些布局更新,我可以使用我的模块,将包括我的JavaScript文件只在产品视图和列表页面。Magento - 如何在页面的基础上包含JavaScript文件
回答
您需要做的是找到要包含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>
选择任一选项取决于您的JS文件住的地方。查看示例的默认catalog.xml或review.xml。
要计算布局句柄(例如catalog_product_view),可以在他的博客中使用Alan Storm的优秀(免费)LayoutViewer模块。
HTH, JD
这就是我一直在做的,但它不工作。 magento会加载它在当前主题中找到的所有layout.xml文件并处理它们吗?例如,假设我只是将一个布局文件转储到名为mymodule.xml的基本/默认主题中,并包含上面的引用,那么magento会如何处理? – Jon 2010-10-14 21:59:10
如果您想快速浏览主题布局中的某些内容,然后调用文件local.xml,Magento将始终检查最后一个。我发现它对于利用非默认主题中的继承特别有用。 – clockworkgeek 2010-10-14 23:27:53
为您完成了这项工作?请随时接受答案,如果它... – 2010-10-27 23:54:22
,您将需要一个布局更新单元添加到您的模块配置文件。根据你说的话,你需要这样的事情在你的布局文件:
<?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>
在你的模块配置文件
然后,你需要这样的:
这假定yourscript.js坐在js文件夹的根目录下。很显然,你不想把它放在这里,所以做什么乔纳森建议及用途:
<action method="addItem"><type>skin_js</type><name>path/file.js</name></action>
,并把你的JS在你的主题皮肤文件夹。
祝你好运!
我需要一个路由器才能正常工作吗?一个简单的扩展做这件事似乎并没有在这里工作。我尝试删除默认主题文件夹中的layout.xml文件,并在当前的主题文件夹和magento中不会去寻找它。 javascript文件位于javascript根文件夹中,而不是主题文件夹。 – 2012-05-14 19:47:49
明白了。 JS的错误路径。谢谢! – 2012-05-15 15:13:52
- 1. 如何在Magento PHP页面中包含ASP.NET文件?
- 2. 如何将我的JavaScript文件包含到HTML页面中?
- 3. typoscript包含页面内容的菜单基础
- 4. 如何在Magento特价页面中包含分页?
- 5. 基础:如何在所有页面中包含一大块HTML,即标题?
- 6. 如何在包含mPDF的页面中包含ToC页面?
- 7. 如何在Javascript中设置页面的基础href?
- 8. 如何仅在指定页面上包含Javascript
- 9. 如何在HTML中包含JavaScript文件?
- 10. 如何在JavaScript文件中包含库?
- 11. 如何在Eclipse中包含JavaScript文件
- 12. 如何在页面中执行定义到包含在我的页面中的.js文件中的JavaScript函数?
- 13. 如何设置magento中的基础URL?
- 14. 在包含内容的页面上触发文件下载
- 15. 在IIS7上运行的ASP页面但不拉包含文件
- 16. 对齐文本基础上,如果页面左边或右边
- 17. Javascript - 在包含页面上查找swfobject并调用javascript函数
- 18. 如何知道JavaScript文件是否已包含在顶级页面中?
- 19. WordPress - 在PHP中包含JavaScript页面
- 20. 在页面中包含JavaScript和CSS(jQuery)
- 21. 如何让VirtualPathProvider包含页面展示器和界面文件?
- 22. 如何在JSP页面struts2中包含css文件?
- 23. 如何将其他文件包含在Hugo/Markdown页面中?
- 24. 如何在页面中包含外部html文件?
- 25. 如何在php页面中包含plist文件?
- 26. JavaScript如何创建包含更多JavaScript的新页面?
- 27. 在Intellij中如何在每个文件的基础上将JavaScript设置为es6?
- 28. 如何在导航栏中包含页面特定的JavaScript 4
- 29. 如何在Shopify的结帐页面中包含JavaScript
- 30. 负荷在母版页动态文件基础上的AppSettings键
你能提供你希望他们包含哪些页面的例子吗? – 2010-10-14 21:46:28
嗨,谢谢,是我想包括他们的两个页面是/ catalog/category/view和catalog/product/view页面。 – Jon 2010-10-14 21:48:16