在Magento中添加.js

时间:2012-11-03 12:28:53

标签: magento magento-1.7

我正在尝试将自己的.js添加到Magento项目中,但我不能这样做......

我已按照here的步骤进行操作,但我仍然无法执行此操作。

我做了以下事情:

  1. 前端:打开 page.xml 并在块内:块类型=“page / html_head”name =“head”as =“head”< / strong>,我包含了我的.js文件: lib / query.js
  2. 后端:我修改了 main.xml ,如上所述here,我将.js添加到名为 head
  3. 但没有任何反应。 JavaScript似乎无法正常工作。关于为什么或我需要遵循的任何步骤的任何想法?

    编辑问题,因为我发现了一个不同的问题......

    我按照答案中的建议做了一切。它没有用。但我认为这是因为剧本。

    当我去开火时,我看到了这些错误,我不知道他们是不是最初的错误:

    The mistake

    当我拨打电话时,第一个错误位于 head.phtml

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

    第二个和第三个位于我的.js文件的开头......

    有什么想法吗?也许解决这个问题,将解决我的另一个问题......

3 个答案:

答案 0 :(得分:1)

1)您是否删除了缓存和会话?:http://kb.siteground.com/article/How_to_clear_the_cache_in_Magento.html

2)仔细检查网络浏览器中的页面来源。该文件可能已经正确包含,但可能是您的javascript文件本身就是问题。

答案 1 :(得分:1)

在'block type =“page / html_head”'插入以下行

<action method="addJs"><script>lib/query.js</script></action>

还将您的query.js文件放在“magento-root-direcory / js / lib / query.js”位置。 当然还要重新编制索引并删除缓存。

答案 2 :(得分:1)

jQuery:为jQuery创建一个不同的别名,用于脚本的其余部分。

 var $j = jQuery.noConflict();
 // Do something with jQuery
 $j("div p").hide();
 //then use magento prototype with
 $("content").style.display = 'none';

查看更多http://api.jquery.com/jQuery.noConflict/

因为您似乎将相同的文件添加到管理员和前端。把你的文件放在(根文件夹)/js/query.js(不是/lib/query.js)

将此添加到page.xml

 <block type="page/html_head" name="head" as="head">
        <action method="addJs"><script>query.js</script></action>
        ....

将此添加到main.xml

<default>
    <block type="adminhtml/page" name="root" output="toHtml" template="page.phtml">
       <block type="adminhtml/page_head" name="head" as="head" template="page/head.phtml">
        <action method="addJs"><script>query.js</script></action>
        ....

对核心文件进行更改并不是一个明智的想法。查看管理文件的变通方法 http://www.magentocommerce.com/boards/viewthread/17306/