如何找到 Magento 布局文件的来源

How to find the origin of a Magento layout file

我是 Magento 的新手,整个布局系统非常混乱,但我正在努力学习它。有一件事我仍然想不通,那就是如何知道布局文件的来源,比如它包含在哪里。

以投票布局文件为例,所以我可以在文件夹app/design/frontend/base/default/layout/poll.xml

中看到布局文件

而且我确实看到 <reference> 标签将轮询包含到 right 块中,但是 Magento 怎么知道它需要读取 poll.xml?或者它通常会读取所有 xml 文件并在需要时包含内容?如果我想删除我的主题中的投票,我能做些什么而不是修改核心布局?

感谢任何帮助,谢谢!

欢迎使用 Magento!尽管有人对你投了反对票,但这是一个有一些复杂答案的好问题。

在 Magento 1 中,每个模块(app/code/coreapp/code/communityapp/code/local 中的文件)都有一个 config.xml 文件。这个文件配置了很多东西。其中之一是布局句柄 XML 文件。如果此节点存在,Magento 将知道它需要加载该特定布局文件。

对于您的特定 poll.xml 文件,您可以在此处找到它的配置

<!-- File: app/code/core/Mage/Poll/etc/config.xml -->
    <layout>
        <updates>
            <poll>
                <file>poll.xml</file>
            </poll>
        </updates>
    </layout>