加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Magento模块布局xml加载顺序

发布时间:2020-12-16 05:36:56 所属栏目:百科 来源:网络整理
导读:我有一个自定义扩展,包括jQuery到布局 XML,如下所示: reference name="head" action method="addJs"scriptjquery/jquery-1.8.1.min.js/script/action/reference 使用jQuery的其他扩展需要在我的模块之后加载,以便jQuery保持在最顶层. 默认情况下,Magento按
我有一个自定义扩展,包括jQuery到布局 XML,如下所示:
<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()方法以包括排序或预先添加文件到头部.

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

另一个选项,重写页面/ 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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读