在Commerce早期版本中使用的
config.xml
配置文件的职责现在由位于各种模块目录中的多个文件分担。 仅当模块请求特定配置类型时,才会按需加载Commerce的多个配置文件。
您可以使用这些文件(也称为
配置类型
)自定义模块行为的特定方面。
多个模块可以声明影响同一配置类型的配置文件(例如,事件),并且合并这些多个配置文件。
以下是本主题中使用的常用术语:
配置阶段
— 阶段定义为
主
、
全局
和
区域
。 每个阶段确定何时加载配置类型并与同名配置类型合并。 例如,
module.xml
文件与其他
module.xml
文件合并。
配置作用域
— 作用域是配置阶段的补充,它定义了配置类型模型。 例如,
adminhtml
是一个区域作用域,该作用域与其他模块的
adminhtml
配置一起在阶段加载。 有关详细信息,请参阅
模块和区域
。
主配置(
app/etc/di.xml
)。 此文件用于引导Commerce。
来自模块(
<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/*.xml
)的全局配置。 从所有模块中收集特定配置文件并将它们合并在一起。
模块(
<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/<area>/*.xml
)中特定于区域的配置。 从所有模块收集配置文件,并将其合并到全局配置中。 某些特定于区域的配置可能会覆盖或扩展全局配置。
配置文件合并
配置文件中的节点将根据其完全限定的XPath进行合并,该XPath具有在
$idAttributes
阵列中定义的特殊属性,该属性声明为其标识符。 对于嵌套在同一父节点下的所有节点,此标识符必须是唯一的。
Commerce应用程序合并算法:
crontab.xml
cron_groups.xml
db_schema.xml
di.xml
主要、全局、区域
eav_attributes.xml
提供EAV属性配置
email_templates.xml
电子邮件模板配置
esconfig.xml
events.xml
事件/观察者配置
全局,区域
export.xml
导出实体配置
extension_attributes.xml
fieldset.xml
定义字段集
indexer.xml
import.xml
声明导入实体
menu.xml
定义管理员的菜单项
adminhtml
module.xml
定义模块配置数据和软依赖关系
主要,全局
mview.xml
主要,全局
payment.xml
支付模块配置
主要,全局
persistent.xml
pdf.xml
PDF设置
product_options.xml
提供产品选项配置
product_types.xml
定义产品类型
queue_consumer.xml
queue_publisher.xml
queue_topology.xml
reports.xml
resources.xml
定义模块资源
routes.xml
sales.xml
定义销售总额配置
search_engine.xml
提供搜索引擎配置
search_request.xml
定义目录搜索配置
sections.xml
定义触发专用内容块缓存失效的操作
system.xml
定义系统配置页面的选项
adminhtml
validation.xml
模块验证配置文件
view.xml
定义Vendor_Module视图配置值
webapi.xml
webapi_async.xml
widget.xml
zip_codes.xml
定义每个国家/地区的邮政编码格式
Framework\Config\ConverterInterface
,它将XML转换为配置的内存中数组表示形式。
Framework\Config\DataInterface
,用于在指定的范围内检索配置数据。
Framework\Config\FileResolverInterface
,它标识
Magento\Framework\Config\ReaderInterface
要读取的文件的位置。
Framework\Config\ReaderInterface
,它从存储中读取配置数据并选择从中读取的存储区。
Framework\Config\SchemaLocatorInterface
,它找到XSD架构。
Framework\Config\ScopeListInterface
,它返回范围列表。
Framework\Config\ValidationStateInterface
,它检索验证状态。