【发布时间】:2013-03-25 05:59:34
【问题描述】:
任何人都可以对以下主题有所了解吗?
Magento 的 etc/config.xml、system.xml 和 adminhtml.xml 有什么明显区别?
用什么代码区分上述三个 XML 文件?
这只是为了核心的magento知识。
【问题讨论】:
标签: magento
任何人都可以对以下主题有所了解吗?
Magento 的 etc/config.xml、system.xml 和 adminhtml.xml 有什么明显区别?
用什么代码区分上述三个 XML 文件?
这只是为了核心的magento知识。
【问题讨论】:
标签: magento
config.xml 文件包含 Magento 的全局配置信息,可用于所有 Magento “区域”。一开始没有adminhtml.xml的配置文件。此信息位于config.xml。 Magento 的更高版本将此信息分解为 adminhtml.xml 文件,并且仅在系统提供后端管理页面时将这些文件与其他 config.xml 文件合并。
system.xml 文件不是全局配置的一部分。它们是一个单独的系统,用于在后端应用程序中自动构建 UI 以设置系统配置值。
如何 Magento 加载这些文件是一个长期涉及的故事,不适合 Stack Overflow 的答案。如果你对这类事情感兴趣,我有一个four article series that covers this in detail。
短版是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();
【讨论】: