我在 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/