0

我正在尝试向 magento cms 添加一些外部 javascript 文件,但不知何故,它们似乎不起作用,尽管它们在 head 部分显示正常。

我将以下代码行添加到head.phtml

<!--pankaj js edition-->

<script src="<?php echo $this->getJsUrl(); ?>jQuery_1205141001.js" type="text/javascript"></script>
<script src="<?php echo $this->getJsUrl(); ?>Common_1205141001.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script>

当页面被渲染时,它们显示在头部,但似乎没有做他们应该做的工作。

难道我做错了什么。因为这些文件在简单的 html 页面中运行良好。我需要在其他地方添加文件吗?很抱歉打扰,但我是 magento 的新手。

4

3 回答 3

2

这可能有2个问题

1)您正在尝试在第一行中包含的 jQuery_1205141001.js 中执行 jquery,因为稍后您将包含 jquery 库
2)您的 jquery 与原型冲突。为此,您需要在执行任何 jquery 代码之前和包含 jquery 库之后在 phtml 中添加它

<script type="text/javascript">
var $j = jQuery.noConflict();
</script>

然后对 jquery 使用 $j.function 而不是 $.function 例如

$j(document.documentElement).keyup(function (event) {

  if (event.keyCode == 37) {

    $j('#prev1').click();
  } else if (event.keyCode == 39) {
    $j('#next1').click();
  }
});

代替

$(document.documentElement).keyup(function (event) {

  if (event.keyCode == 37) {

    $('#prev1').click();
  } else if (event.keyCode == 39) {
    $('#next1').click();
  }
});
于 2012-05-23T10:56:53.110 回答
1

与其直接编辑 head.phtml 文件来添加您的 JS 引用,不如将其真正放入您的主题 local.xml 中,如下所示:

<reference name="head">
    <block type="core/text" name="google.cdn.jquery" after="-">
        <action method="setText">
            <text><![CDATA[<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
            <script type="text/javascript">jQuery.noConflict();</script>]]>
            </text>
        </action>
    </block>
    <action method="addItem"><type>skin_js</type><script>js/jQuery_1205141001.js</script></action>
</reference>

还要使用 Firebug 检查 Javascript 错误。如果有导致某些 js 功能失败的 javascript 错误,firebug 会告诉你这一点。

于 2012-05-23T11:02:54.023 回答
0
<reference name="head">
      <action method="addJs"><script>[MODULE]/your.js</script></action>

    </reference>

在 magento root 的 js 文件夹中创建与您的模块名称相同的文件夹,并将您的 js 文件复制到此文件夹中。

于 2012-05-23T11:15:25.240 回答