Présentation des fichiers de configuration de module

Les responsabilités de config.xml Le fichier de configuration utilisé dans les versions antérieures de Commerce est désormais divisé entre plusieurs fichiers, situés dans différents répertoires de module. Les multiples fichiers de configuration de Commerce se chargent à la demande uniquement lorsqu’un module demande un type de configuration spécifique.

Vous pouvez utiliser ces fichiers, également appelés types de configuration: pour personnaliser des aspects spécifiques du comportement de votre module.

Plusieurs modules peuvent déclarer des fichiers de configuration qui affectent le même type de configuration (des événements, par exemple), et ces fichiers de configuration multiples sont fusionnés.

Vous trouverez ci-dessous les termes courants utilisés dans cette rubrique :

  • Objet de configuration: bibliothèque ou classe Commerce chargée de définir et de valider le type de configuration. Par exemple, l’objet de configuration pour config.xml is Magento\Framework\App\Config.

  • Etape de configuration: les étapes sont définies comme primary, global, et area. Chaque étape détermine le moment où le type de configuration est chargé et fusionné avec les types de configuration du même nom. Par exemple : module.xml Les fichiers sont fusionnés avec d’autres module.xml fichiers .

  • Étendue de la configuration—Complémentaire aux étapes de configuration, un périmètre définit le modèle de type de configuration. Par exemple : adminhtml est une portée de zone chargée avec à l’étape avec d’autres modules adminhtml configurations. Pour plus d’informations, voir Modules et zones.

Chargement et fusion des configurations

Cette section explique comment les fichiers de configuration sont chargés et fusionnés.

Comment Commerce charge les fichiers de configuration

Commerce charge les fichiers de configuration dans l’ordre suivant (tous les chemins sont relatifs à votre répertoire d’installation Commerce) :

  • Configuration du Principal (app/etc/di.xml). Ce fichier est utilisé pour démarrer Commerce.
  • Configurations globales à partir de modules (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/*.xml). Collecte certains fichiers de configuration de tous les modules et les fusionne.
  • Configuration spécifique à une zone à partir des modules (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/<area>/*.xml). Collecte des fichiers de configuration de tous les modules et les fusionne dans la configuration globale. Certaines configurations spécifiques à une zone peuvent remplacer ou étendre la configuration globale.

where

  • <your component base dir> est le répertoire de base dans lequel se trouve votre composant. Les valeurs standard sont les suivantes : app/code ou vendor par rapport au répertoire d’installation de Commerce.

  • <vendorname> est le nom du fournisseur du composant ; par exemple, le nom du fournisseur de Commerce est magento.

  • <component-type> est l’un des suivants :

    • module-: une extension ou un module.
    • theme-: thème.
    • language-: package de langue.
INFO
Actuellement, les thèmes se trouvent sous <magento_root>/app/design/frontend ou <magento_root>/app/design/adminhtml.
  • <component-name>: nom de votre composant tel que défini dans compositeur.json.

Fusion du fichier de configuration

Les noeuds des fichiers de configuration sont fusionnés en fonction de leurs XPath entièrement qualifiés, qui a un attribut spécial défini dans $idAttributes tableau déclaré comme identifiant. Cet identifiant doit être unique pour tous les noeuds imbriqués dans le même noeud parent.

Algorithme de fusion d’applications de commerce :

  • Si les identifiants de noeud sont égaux (ou si aucun identifiant n’est défini), tout le contenu sous-jacent dans le noeud (attributs, noeuds enfants et contenu scalaire) est remplacé.
  • Si les identifiants de noeud ne sont pas égaux, le noeud est un nouvel enfant du noeud parent.
  • Si le document d’origine comporte plusieurs noeuds portant le même identifiant, une erreur est déclenchée car les identifiants ne peuvent pas être distingués.

Une fois les fichiers de configuration fusionnés, le document obtenu contient tous les noeuds des fichiers d’origine.

INFO
Vous pouvez utiliser \Magento\Framework\Config\Reader\Filesystem classe pour le débogage et la compréhension de la logique derrière chargeur de fichiers de configuration et configurations de fusion processus.

Types, objets et interfaces de configuration

Les sections suivantes fournissent des informations sur les types de configuration, les objets de configuration correspondants et les interfaces que vous pouvez utiliser pour travailler avec les objets :

Types et objets de configuration

Le tableau suivant présente chaque type de configuration et l’objet de configuration Commerce auquel il se rapporte.

Fichier de configuration
Description
Évaluation
Objet de configuration
address_formats.xml
Déclaration du format d’adresse
principal, global
\Magento\Customer\Model\Address\Config
acl.xml
Liste de contrôle d’accès
global
\Magento\Framework\Acl\AclResource\Provider
analytics.xml
Création de rapports avancés
principal, global
\Magento\Analytics\Model\Config\Reader
cache.xml
Déclaration du type de cache
principal, global
\Magento\Framework\Cache\Config\Data
catalog_attributes.xml
Configuration des attributs du catalogue
global
\Magento\Catalog\Model\Attribute\Config\Data
config.php et env.php
Configuration du déploiement
Ces fichiers sont lisibles/modifiables par le processeur de configuration interne.
Sans objet, ne peut pas être personnalisé
config.xml
Configuration du système
principal, global
\Magento\Framework\App\Config
communication.xml
Définit les aspects du système de file de messages
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Communication
crontab.xml
Configuration des groupes cron
global
\Magento\Cron\Model\Config\Data
cron_groups.xml
Spécifie les options du groupe cron
global
\Magento\Cron\Model\Groups\Config\Data
db_schema.xml
Schéma déclaratif
global
Magento\Framework\Setup\Declaration\Schema
di.xml
Injection de dépendance configuration
principal, global, zone
\Magento\Framework\ObjectManager\Config
eav_attributes.xml
Fournit la configuration des attributs d’expérience visuelle
global
\Magento\Eav\Model\Entity\Attribute\Config
email_templates.xml
Configuration des modèles d'email
global
\Magento\Email\Model\Template\Config\Data
esconfig.xml
Configuration des mots-arrêts du moteur de recherche
global
\Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig
events.xml
Configuration des événements/observateurs
global, zone
\Magento\Framework\Event
export.xml
Exporter la configuration des entités
global
\Magento\ImportExport\Model\Export\Config
extension_attributes.xml
Attributs d’extension
global
\Magento\Framework\Api\ExtensionAttribute\Config
fieldset.xml
Définit les jeux de champs
global
\Magento\Framework\DataObject\Copy\Config\Reader
indexer.xml
Déclarer les indexeurs
global
\Magento\Framework\Indexer\Config\Reader
import.xml
Déclarer les entités d’importation
global
\Magento\ImportExport\Model\Import\Config
menu.xml
Définit les options de menu pour l’administrateur.
adminhtml
\Magento\Backend\Model\Menu\Config\Reader
module.xml
Définit les données de configuration de module et la dépendance de type Soft.
principal, global
\Magento\Framework\Module\ModuleList\Loader
mview.xml
Configuration du mode MV
principal, global
\Magento\Framework\Mview\Config\Data
payment.xml
Configuration du module de paiement
principal, global
\Magento\Payment\Model\Config
persistent.xml
Magento_Persistent fichier de configuration
global
\Magento\Persistent\Helper\Data
pdf.xml
Paramètres du PDF
global
\Magento\Sales\Model\Order\Pdf\Config\Reader
product_options.xml
Configuration des options de produit
global
\Magento\Catalog\Model\ProductOptions\Config
product_types.xml
Définit le type de produit
global
\Magento\Catalog\Model\ProductTypes\Config
queue_consumer.xml
Définit la relation entre une file d’attente existante et son consommateur
global
\Magento\Framework\MessageQueue\Consumer\Config\Xml\Reader
queue_publisher.xml
Définit l’échange dans lequel une rubrique est publiée.
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Publisher
queue_topology.xml
Définit les règles de routage des messages, déclare les files d’attente et les échanges.
global
\Magento\Framework\MessageQueue\Topology\Config\Xml\Reader
reports.xml
Rapports avancés
global
\Magento\Analytics\ReportXml\Config
resources.xml
Définit la ressource de module
global
\Magento\Framework\App\ResourceConnection\Config\Reader
routes.xml
Route configuration
area
Magento\Framework\App\Route\Config
sales.xml
Définit la configuration totale des ventes
global
\Magento\Sales\Model\Config\Data
search_engine.xml
Fournit la configuration du moteur de recherche
global
Magento\Search\Model\SearchEngine\Config
search_request.xml
Définit la configuration de la recherche catalogue
global
\Magento\Framework\Search\Request\Config
sections.xml
Définit les actions qui déclenchent l’invalidation du cache pour les blocs de contenu privés.
frontend
SectionInvalidationConfigReader
system.xml
Définit les options de la page de configuration du système.
adminhtml
\Magento\Framework\App\Config
validation.xml
Fichier de configuration de validation de module
global
\Magento\Framework\Validator\Factory
view.xml
Définit les valeurs de configuration de la vue Vendor_Module
global
\Magento\Framework\View\Config
webapi.xml
Configuration d’une API web
global
\Magento\Webapi\Model\Config
webapi_async.xml
Définit les itinéraires personnalisés REST
global
\Magento\WebapiAsync\Model\ServiceConfig
widget.xml
Définit des widgets
global
\Magento\Widget\Model\Config\Reader
zip_codes.xml
Définit le format du code postal de chaque pays.
global
\Magento\Directory\Model\Country\Postcode\Config\Data

Interfaces de configuration

Vous pouvez interagir avec les fichiers de configuration à l’aide d’interfaces sous Magento\Framework\Config.

Vous pouvez utiliser ces interfaces si vous créer un type de configuration ;.

Magento\Framework\Config fournit les interfaces suivantes :

En d’autres termes, le système de fichiers, la base de données et les autres espaces de stockage fusionnent les fichiers de configuration selon les règles de fusion et valident les fichiers de configuration avec les schémas de validation.

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