我在尝试更新page.xml时遇到问题。我需要有这个修复,以便我的jquery插件工作。
基本上在我的文本编辑器中,我已将jquery插件放在jquery库下面并保存它。
<action method="addItem"><type>skin_js</type><name>js/jquery.min.js</name></action>
<action method="addJs"><script>nanoScroll/nanoScroll.js</script></action>
<action method="addJs"><script>customScroll/jquery.mCustomScrollbar.concat.min.js</script></action>
但是,如果我检查页面并检查了视图源,这就是我得到的。
<script type="text/javascript" src="http://cudsly.dev/js/nanoScroll/nanoScroll.js"></script>
<script type="text/javascript" src="http://cudsly.dev/js/customScroll/jquery.mCustomScrollbar.concat.min.js"></script>
<script type="text/javascript" src="http://cudsly.dev/skin/frontend/baby/default/js/jquery-ui-1.10.3.custom.js"></script>
<script type="text/javascript" src="http://cudsly.dev/skin/frontend/baby/default/js/jquery.min.js"></script>
<script type="text/javascript" src="http://cudsly.dev/skin/frontend/baby/default/js/bootstrap.min.js"></script>
该插件位于jQuery库之上,导致此错误 -
未捕获的ReferenceError:jQuery未定义nanoScroll.js:2
未捕获的ReferenceError:未定义jQuery
答案 0 :(得分:1)
当您致电
时<action method="addJs"><script>nanoScroll/nanoScroll.js</script></action>
与调用
相同<action method="addItem"><type>js</type><script>nanoScroll/nanoScroll.js</script></action>
添加到标题中的每个“项目”都有一个类型。类型为;
的文件位于根级js/
文件夹中。 skin_js
类型的文件位于skin/frontend/[package]/[theme]/js
文件夹中。在您的情况下,package
和theme
分别为baby
和default
。
与您的问题更相关:虽然Magento会按照布局中添加的顺序呈现项目,但Magento首先呈现所有 js
项目,然后呈现全部 skin_js
文件夹。因为您(或您的主题开发人员)已将其jquery副本放在主题文件夹中,所以在使用addJs
添加的项目后,它将始终呈现。
您的两个选择是:
将jquery移至js/
文件夹,并将addItem
布局更新通话更改为addJs
来电
将您的代码移至主题文件夹,并将addJs
布局更新通话更改为addItem
来电
答案 1 :(得分:1)
您可能希望将jquery.js
移到js文件夹中。没有必要在主题js文件中使用它,因为jquery对于所有主题都是相同的。移动后只需更换此行:
<action method="addItem"><type>skin_js</type><name>js/jquery.min.js</name></action>
这一个
<action method="addJs"><script>jquery.min.js</script></action>