gpt4 book ai didi

xml - Magento 模块布局 xml 加载顺序

转载 作者:数据小太阳 更新时间:2023-10-29 01:52:46 29 4
gpt4 key购买 nike

我有一个自定义扩展,它通过布局 XML 包含 jQuery,如下所示:

<reference name="head">
<action method="addJs"><script>jquery/jquery-1.8.1.min.js</script></action>
</reference>

其他使用 jQuery 的扩展需要在我的模块之后加载,以便 jQuery 保持在顶部。

默认情况下,Magento 按字母顺序加载所有内容。有什么方法可以指定扩展的排序顺序吗?

一种方法是在我的主题中覆盖 page.xml 并手动将 jQuery 包含到头部,或者我可以将每个自定义模块设置为取决于我想要放在顶部的模块,例如:

<depends>
<Package_JQueryLib />
</depends>

还有其他建议吗?

编辑

我想我也可以覆盖 Mage_Page_Block_Html_Head 并修改 addItem() 方法以包括排序或将文件添加到头部。

最佳答案

<depends /> node 是一种有效的方法 - 它旨在提供对冲突模块 xpath 值的控制,但它也可用于影响子节点出现的顺序。

另一个选项,重写 page/html_head类,是一段时间以来一直需要的东西,我想,实际上是由其他人完成的。

另一种尝试方法是使用 <update>自定义模块布局 XML 中的指令,作为 <update /> 中的指令在其他指令之前处理。这意味着 jQuery 将在所有其他文件之前加载。

<?xml version="1.0" encoding="UTF-8"?>
<layout>
<default>
<update handle="add_jquery_first" />
</default>

<add_jquery_first>
<action method="addJs" block="head">
<file>jquery/jquery-1.8.1.min.js</file>
</action>
<!-- or
<reference name="head">
<action method="addJs">
<file>jquery/jquery-1.8.1.min.js</file>
</action>
</reference>
-->
</add_jquery_first>
</layout>

关于xml - Magento 模块布局 xml 加载顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610949/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com