Información general sobre los archivos de configuración del módulo

Las responsabilidades del archivo de configuración config.xml utilizado en versiones anteriores de Commerce ahora se dividen entre varios archivos, ubicados en varios directorios de módulos. Los archivos de configuración múltiples de Commerce solo se cargan bajo demanda cuando un módulo solicita un tipo de configuración específico.

Puede utilizar estos archivos (también conocidos como tipos de configuración) para personalizar aspectos específicos del comportamiento del módulo.

Varios módulos pueden declarar archivos de configuración que afectan al mismo tipo de configuración (por ejemplo, eventos), y estos archivos de configuración múltiples se combinan.

A continuación se indican términos comunes utilizados en este tema:

  • Objeto de configuración: la clase o biblioteca de Commerce responsable de definir y validar el tipo de configuración. Por ejemplo, el objeto de configuración de config.xml es Magento\Framework\App\Config.

  • Fase de configuración: las fases se definen como principal, global y área. Cada fase determina cuándo se carga el tipo de configuración y se combina con tipos de configuración con el mismo nombre. Por ejemplo, module.xml archivos se combinan con otros module.xml archivos.

  • Ámbito de configuración: como complemento de las fases de configuración, un ámbito define el modelo de tipo de configuración. Por ejemplo, adminhtml es un ámbito de área que se carga con en la fase con las configuraciones adminhtml de otros módulos. Para obtener más información, vea Módulos y áreas.

Carga y combinación de configuración

En esta sección se explica cómo se cargan y combinan los archivos de configuración.

Cómo carga Commerce los archivos de configuración

Commerce carga los archivos de configuración en el siguiente orden (todas las rutas son relativas al directorio de instalación de Commerce):

  • Configuración principal (app/etc/di.xml). Este archivo se utiliza para arrancar Commerce.
  • Configuraciones globales de módulos (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/*.xml). Recopila ciertos archivos de configuración de todos los módulos y los combina.
  • Configuración específica de área de los módulos (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/<area>/*.xml). Recopila archivos de configuración de todos los módulos y los combina en la configuración global. Algunas configuraciones específicas del área pueden anular o ampliar la configuración global.

donde

  • <your component base dir> es el directorio base en el que se encuentra el componente. Los valores habituales son app/code o vendor en relación con el directorio de instalación de Commerce.

  • <vendorname> es el nombre de proveedor del componente; por ejemplo, el nombre de proveedor de Commerce es magento.

  • <component-type> es uno de los siguientes:

    • module-: extensión o módulo.
    • theme-: tema.
    • language-: paquete de idioma.
INFO
Actualmente, los temas se encuentran en <magento_root>/app/design/frontend o <magento_root>/app/design/adminhtml.
  • <component-name>: nombre del componente tal como se define en composer.json.

Combinación de archivos de configuración

Los nodos de los archivos de configuración se combinan según sus XPath completos, que tienen un atributo especial definido en la matriz $idAttributes declarada como identificador. Este identificador debe ser único para todos los nodos anidados en el mismo nodo principal.

Algoritmo de combinación de aplicaciones Commerce:

  • Si los identificadores de nodo son iguales (o si no hay ningún identificador definido), se anula todo el contenido subyacente del nodo (atributos, nodos secundarios y contenido escalar).
  • Si los identificadores de nodo no son iguales, el nodo es un nuevo elemento secundario del nodo principal.
  • Si el documento original tiene varios nodos con el mismo identificador, se activa un error porque los identificadores no se pueden distinguir.

Una vez combinados los archivos de configuración, el documento resultante contiene todos los nodos de los archivos originales.

INFO
Puede usar la clase \Magento\Framework\Config\Reader\Filesystem para depurar y comprender la lógica detrás del proceso de carga de archivos de configuración y combinación de configuraciones.

Tipos de configuración, objetos e interfaces

Las secciones siguientes proporcionan información sobre tipos de configuración, sus objetos de configuración correspondientes e interfaces que puede utilizar para trabajar con los objetos:

Tipos de configuración y objetos

En la tabla siguiente se muestra cada tipo de configuración y el objeto de configuración de Commerce con el que se relaciona.

Archivo de configuración
Descripción
Fase
Objeto de configuración
address_formats.xml
Declaración de formato de dirección
principal, global
\Magento\Customer\Model\Address\Config
acl.xml
Lista de control de acceso
global
\Magento\Framework\Acl\AclResource\Provider
analytics.xml
[Informes avanzados]https://developer.adobe.com/commerce/php/development/advanced-reporting/data-collection/)
principal, global
\Magento\Analytics\Model\Config\Reader
cache.xml
Declaración de tipo de caché
principal, global
\Magento\Framework\Cache\Config\Data
catalog_attributes.xml
Configuración de atributos de catálogo
global
\Magento\Catalog\Model\Attribute\Config\Data
config.php y env.php
Configuración de implementación
El procesador de configuración interno puede leer y escribir estos archivos.
No tiene ningún objeto, no se puede personalizar
config.xml
Configuración del sistema
principal, global
\Magento\Framework\App\Config
communication.xml
Define aspectos del sistema de cola de mensajes
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Communication
crontab.xml
Configura grupos cron
global
\Magento\Cron\Model\Config\Data
cron_groups.xml
Especifica las opciones del grupo cron
global
\Magento\Cron\Model\Groups\Config\Data
db_schema.xml
Esquema declarativo
global
Magento\Framework\Setup\Declaration\Schema
di.xml
Configuración de inyección de dependencias
principal, global, área
\Magento\Framework\ObjectManager\Config
eav_attributes.xml
Proporciona la configuración de atributos EAV
global
\Magento\Eav\Model\Entity\Attribute\Config
email_templates.xml
Configuración de plantillas de correo electrónico
global
\Magento\Email\Model\Template\Config\Data
esconfig.xml
Configuración de las palabras de parada del motor de búsqueda
global
\Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig
events.xml
Configuración de evento/observador
global, área
\Magento\Framework\Event
export.xml
Exportar configuración de entidad
global
\Magento\ImportExport\Model\Export\Config
extension_attributes.xml
Atributos de extensión
global
\Magento\Framework\Api\ExtensionAttribute\Config
fieldset.xml
Define conjuntos de campos
global
\Magento\Framework\DataObject\Copy\Config\Reader
indexer.xml
Declara indizadores
global
\Magento\Framework\Indexer\Config\Reader
import.xml
Declara entidades de importación
global
\Magento\ImportExport\Model\Import\Config
menu.xml
Define los elementos de menú para el administrador
adminhtml
\Magento\Backend\Model\Menu\Config\Reader
module.xml
Define los datos de configuración del módulo y la dependencia temporal
principal, global
\Magento\Framework\Module\ModuleList\Loader
mview.xml
Configuración de MView
principal, global
\Magento\Framework\Mview\Config\Data
payment.xml
Configuración del módulo de pago
principal, global
\Magento\Payment\Model\Config
persistent.xml
Archivo de configuración Magento_Persistente
global
\Magento\Persistent\Helper\Data
pdf.xml
configuración del PDF
global
\Magento\Sales\Model\Order\Pdf\Config\Reader
product_options.xml
Proporciona la configuración de opciones de producto
global
\Magento\Catalog\Model\ProductOptions\Config
product_types.xml
Define el tipo de producto
global
\Magento\Catalog\Model\ProductTypes\Config
queue_consumer.xml
Define la relación entre una cola existente y su consumidor
global
\Magento\Framework\MessageQueue\Consumer\Config\Xml\Reader
queue_publisher.xml
Define el intercambio donde se publica un tema.
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Publisher
queue_topology.xml
Define las reglas de enrutamiento de mensajes, declara colas e intercambios
global
\Magento\Framework\MessageQueue\Topology\Config\Xml\Reader
reports.xml
Informes avanzados
global
\Magento\Analytics\ReportXml\Config
resources.xml
Define el recurso del módulo
global
\Magento\Framework\App\ResourceConnection\Config\Reader
routes.xml
Configuración de Ruta
área
Magento\Framework\App\Route\Config
sales.xml
Define la configuración de totales de ventas
global
\Magento\Sales\Model\Config\Data
search_engine.xml
Proporciona la configuración del motor de búsqueda
global
Magento\Search\Model\SearchEngine\Config
search_request.xml
Define la configuración de búsqueda del catálogo
global
\Magento\Framework\Search\Request\Config
sections.xml
Define acciones que almacenan en déclencheur la invalidación de caché para bloques de contenido privado
frontend
SectionInvalidationConfigReader
system.xml
Define las opciones para la página de configuración del sistema
adminhtml
\Magento\Framework\App\Config
validation.xml
Archivo de configuración de validación de módulo
global
\Magento\Framework\Validator\Factory
view.xml
Define los valores de configuración de vista de Vendor_Module
global
\Magento\Framework\View\Config
webapi.xml
Configura una API web
global
\Magento\Webapi\Model\Config
webapi_async.xml
Define rutas personalizadas REST
global
\Magento\WebapiAsync\Model\ServiceConfig
widget.xml
Define widgets
global
\Magento\Widget\Model\Config\Reader
zip_codes.xml
Define el formato del código postal de cada país
global
\Magento\Directory\Model\Country\Postcode\Config\Data

Interfaces de configuración

Puede interactuar con archivos de configuración mediante interfaces en Magento\Framework\Config.

Puede usar estas interfaces si crea un tipo de configuración.

Magento\Framework\Config proporciona las siguientes interfaces:

Es decir, el sistema de archivos, la base de datos y otro almacenamiento combinan los archivos de configuración según las reglas de combinación y validan los archivos de configuración con los esquemas de validación.

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c