0

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

我已经按照 这里的步骤操作了,但我仍然做不到。

我做了以下事情:

  1. 前端:打开page.xml并在块内:block type="page/html_head" name="head" as="head",我包含了我的 .js 文件:lib/query.js
  2. 后端:我修改了main.xml就像这里说的那样,我将 .js 添加到名为head的块中。

但什么也没有发生。javascript 似乎无法正常工作。关于为什么或我需要遵循的任何步骤的任何想法?

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

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

当我去火的时候,我看到了这些错误,我不知道它们是不是一开始的:

错误

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

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

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

任何想法?也许解决这个问题,将解决我的其他问题......

4

3 回答 3

1

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

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

于 2012-11-03T12:51:37.223 回答
1

在 'block type="page/html_head" ' 内插入以下行

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

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

于 2012-11-03T12:57:21.417 回答
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/

于 2012-11-03T13:32:49.923 回答