任何人都可以对以下主题有所了解吗?
Magento 的 etc/config.xml、system.xml 和 adminhtml.xml 之间有什么明显区别?
什么代码区分上述三个 XML 文件?
它仅适用于核心 magento 知识。
任何人都可以对以下主题有所了解吗?
Magento 的 etc/config.xml、system.xml 和 adminhtml.xml 之间有什么明显区别?
什么代码区分上述三个 XML 文件?
它仅适用于核心 magento 知识。
这些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();