我阅读了如何通过
正确地将jquery包含到magento的指南一次扩展非常容易。但是,就我而言,我安装了3个不同的扩展,并且所有扩展都希望包含Jquery。当然,我不想复制这个库并调用它3次。首先,我想我可以在<head>
标记的第一行手动包含jquery库,并删除3个扩展中的所有jquery包含。但它没有成功,通常只有其中一个有效。如果我允许所有3个扩展包含jquery,那么它们都可以工作。如何只在包含一次libray时才能使商店中的所有jquery扩展工作?
有人建议我应该在<head>
的顶部包含所有依赖jquery的脚本,是吗?但是,问题是我不知道如何使用操作addJs
或addItem
在Magento中安排脚本。没有<block>
之前或之后的参数?
答案 0 :(得分:3)
如果您想强制使用addJs
方法附带的Javascript加载顺序,最简单的方法是使用<params>
标记提供名称,例如:
<action method="addJs"> <!-- Loads second -->
<script>vendor/jquery-1.6.2.min.js</script>
<params><![CDATA[name="jquery2"]]></params>
</action>
<action method="addJs"> <!-- Loads first -->
<script>vendor/jquery-1.8.2.min.js</script>
<params><![CDATA[name="jquery1"]]></params>
</action>
Magento将根据提供的名称按字母顺序升序加载Javascript文件。
但是,在你的情况下,找出为什么扩展和各种jQuery文件彼此不能很好地结合可能会更有成效。
jQuery.noConflict()
而另一个使用var $j = jQuery.noConflict()
之类的内容)?