Я пытаюсь добавить некоторые внешние файлы javascript в magento cms, но почему-то они не работают, хотя они хорошо отображаются в разделе главы.
Я добавляю следующие строки кода в 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.
Могут быть две проблемы с этим
1) Вы пытаетесь выполнить jquery в jQuery_1205141001.js, который включен в первую строку, где, когда вы включаете библиотеку jquery позже
2) Ваш jquery противоречит прототипу. Для этого вам нужно добавить это в phtml, прежде чем выполнять какой-либо код jquery и после включения библиотеки jquery
<script type="text/javascript"> var $j = jQuery.noConflict(); </script>
а затем используйте $ j.функцию вместо $ .функции для jquery, например
$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(); } });
Вместо того, чтобы редактировать файл 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>
Также проверьте наличие ошибок Javascript с Firebug. Если есть ошибки javascript, которые вызывают некоторые функции js, чтобы сбой Firebug скажет вам об этом.
<reference name="head"> <action method="addJs"><script>[MODULE]/your.js</script></action> </reference>
создайте папку с именем вашего модуля в папке js корня magento и скопируйте файл js в эту папку.