php - 添加 jQuery,并在头部顶部添加一个 block

标签 php javascript jquery html magento

我在 magento 中有一个扩展,它在 header 中添加了一个用于加载 jQuery 的 block :

<reference name="head">            
     <block type="page/html" 
            template="csdev/embedjquery/embed_jquery.phtml" 
            output="toHtml" 
            name="csdev_embedjquery" />
</reference>

该 block 的内容如下:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" />

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

问题是 jQuery 添加得太晚了,在原型(prototype)之后。它需要在原型(prototype)之前添加,以便我可以执行 noConflict() 函数。

另外,由于我不想覆盖 magento head-template 或 magento head-block,所以我添加了以下内容:

output="toHtml"

但是已经太晚了:(...

是否有诸如“将此 block 添加到输出='toHtml'的引用(head)顶部”之类的解决方案

我尝试过:

before="-"

但它似乎不起作用,因为我写道:

output="toHtml"

我的 Magento 版本是 1.7。

最佳答案

您的问题是您将其添加为 phtml 文件,而不是 JS 文件。尝试将其添加到 page.xml 中,默认 -> root -> head (大约第 37 行到 61 行):

<action method="addJs"><script>jquery/jquery.js</script></action>

然后在/js 中创建一个名为 jquery 的文件夹,并将 jquery.js 上传到该文件中。在 jquery.js 文件的末尾,附加 noConflict 方法调用。这应该可以解决您的问题。

关于php - 添加 jQuery,并在头部顶部添加一个 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395479/

相关文章:

javascript - 如何使用自己的html按钮进行传单控制?

javascript - 如何将值作为对象存储在 $localStorage 中

Javascript 文件不会动态加载

php - FatalErrorException : Parse: syntax error, unexpected T_PUBLIC in

php - 验证插入 codeigniter

javascript - 如何通过 jquery/ajax 将复选框数据作为数组发送到 php 脚本

javascript - Transition.translate Easing 与 SpringTransition

php - 无法使用 codeigniter php 更新数据库中选定的框值

javascript - jQuery 切换子类

javascript - 我应该在 jQuery 文档中使用 onclick 或 click 方法吗?