Magento中的Page.xml未正确更新

时间:2013-08-27 07:38:55

标签: jquery html magento interface

我在尝试更新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

2 个答案:

答案 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文件夹中。在您的情况下,packagetheme分别为babydefault

与您的问题更相关:虽然Magento会按照布局中添加的顺序呈现项目,但Magento首先呈现所有 js项目,然后呈现全部 skin_js文件夹。因为您(或您的主题开发人员)已将其jquery副本放在主题文件夹中,所以在使用addJs添加的项目后,它将始终呈现。

您的两个选择是:

  1. 将jquery移至js/文件夹,并将addItem布局更新通话更改为addJs来电

  2. 将您的代码移至主题文件夹,并将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>