0

I am trying to add some external javascript files to the magento cms but somehow they don't seem to work, though they display alright in the head section.

I am adding following lines of code to the 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>

They are showing in the head section when the page is rendered, but doesn't seem to do the work they are supposed to be the doing.

Am, I doing something wrong. Because the files work well in simple html page. Do i need to add the files somewhere else. Sorry to bother but i am a newbie for 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に$.functionの代わりに$j.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 に答える