17

任何人都可以对以下主题有所了解吗?

Magento 的 etc/config.xml、system.xml 和 adminhtml.xml 之间有什么明显区别?

什么代码区分上述三个 XML 文件?

它仅适用于核心 magento 知识。

4

1 回答 1

24

这些config.xml文件包含 Magento 的全局配置信息,可用于所有 Magento “区域”。一开始,没有adminhtml.xml配置文件。此信息位于config.xml。Magento 的更高版本将这些信息分解为文件,并且仅在系统为后端管理页面提供服务时adminhtml.xml将这些文件与其他文件合并。config.xml

这些system.xml文件不是全局配置的一部分。它们是一个单独的系统,用于在后端应用程序中自动构建 UI 以设置系统配置值。

Magento如何加载这些文件是一个长期涉及的故事,不适合 Stack Overflow 的答案。如果您对这类事情感兴趣,我有一个四篇文章系列详细介绍了这一点。

简短版本是config.xml文件在此处加载

#File: app/code/core/Mage/Core/Model/Config.php
$this->loadModulesConfiguration(array('config.xml',$resourceConfig), $this);

adminhtml.xml文件在这里加载

#File: app/code/core/Mage/Admin/Model/Config.php
Mage::getConfig()->loadModulesConfiguration('adminhtml.xml', $adminhtmlConfig);

system.xml文件在这里加载

#File: app/code/core/Mage/Adminhtml/Model/Config.php
$config = Mage::getConfig()->loadModulesConfiguration('system.xml')
->applyExtends();
于 2013-03-25T07:38:50.693 回答