Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento模块布局xml顺序_Xml_Magento_Layout_Module_Magento Layout Xml - Fatal编程技术网

Magento模块布局xml顺序

Magento模块布局xml顺序,xml,magento,layout,module,magento-layout-xml,Xml,Magento,Layout,Module,Magento Layout Xml,我在Magento安装中使用了一个自定义模块,它使用一个布局XML文件将一些Javascript文件添加到每个页面的标题部分 这很好,但是这些javascript文件需要在我已经在page.xml中声明的那些文件之后添加,但是xml文件似乎是按字母顺序而不是按层次顺序处理的 我已经浏览了page/html\u head块,似乎没有本地方法来设置/更改项目的包含顺序。如果不从模块的XML文件中删除javascript文件并将其放在page.XML中,有人知道我如何确保首先添加page.XML ja

我在Magento安装中使用了一个自定义模块,它使用一个布局XML文件将一些Javascript文件添加到每个页面的标题部分

这很好,但是这些javascript文件需要在我已经在page.xml中声明的那些文件之后添加,但是xml文件似乎是按字母顺序而不是按层次顺序处理的


我已经浏览了page/html\u head块,似乎没有本地方法来设置/更改项目的包含顺序。如果不从模块的XML文件中删除javascript文件并将其放在page.XML中,有人知道我如何确保首先添加page.XML javascript吗?

布局XML文件仅按照模块加载顺序的字母顺序进行处理,这取决于
glob()
的字母顺序

虽然head块缺少排序功能是不幸的,但有一个解决方法。您可以使模块依赖于模块激活文件中的
Mage_页面


其他选项包括:将
core/template
块添加到
head
块,并使用带有主题安全链接的模板连接到JS文件,或者添加
core/text
块,并调用
setText()
,并显式链接到JS文件(不太安全,通常用于CDN托管脚本)。在
page/html/head.phtml
中有一个空的
getChildHtml()
调用,它将呈现
head

的任何子块,布局XML文件仅作为模块加载顺序的一种效果按字母顺序进行处理,这取决于
glob()
的字母顺序

虽然head块缺少排序功能是不幸的,但有一个解决方法。您可以使模块依赖于模块激活文件中的
Mage_页面


其他选项包括:将
core/template
块添加到
head
块,并使用带有主题安全链接的模板连接到JS文件,或者添加
core/text
块,并调用
setText()
,并显式链接到JS文件(不太安全,通常用于CDN托管脚本)。
page/html/head.phtml
中有一个空的
getChildHtml()
调用,它将呈现
head

的任何子块,如果您有自己的自定义模块,则可以覆盖此块。例如,添加可选参数“sort”。接下来,使用排序参数列表添加额外的块变量,并最终覆盖方法
addItem
getCssJsHtml
@diNord-这确实有效,但有一种更简单的、仅布局的方法。如果您有自己的自定义模块,则可以覆盖此块。例如,添加可选参数“sort”。接下来,使用排序参数列表添加额外的块变量,并最终覆盖方法
addItem
getCssJsHtml
@diNord-这确实有效,但有一种更简单的、仅用于布局的方法。我想这就是我要做的-在头部添加一个核心/模板块,并包含指向相关JS文件的链接。JS文件安装在/JS文件夹(而不是皮肤)中,因此这应该没问题。无论如何,我不打算发布这个模块,这是一个专门为这个网站定制的模块:)请注意,如果客户端使用原生JS请求合并或Fooman_Speedster的合并和缩小,如果你使用模板技术,这些文件将不会被合并。我想这就是我要做的-在头部添加一个核心/模板块,并包含有问题的JS文件的链接。JS文件安装在/JS文件夹(而不是皮肤)中,因此这应该没问题。无论如何,我不打算发布这个模块,这是一个专门为这个网站定制的模块:)注意,如果客户端使用原生JS请求合并或Fooman_Speedster的合并和缩小,如果使用模板技术,这些文件将不会被合并。