Überblick über die Modulkonfigurationsdateien

Die Zuständigkeiten der config.xml Konfigurationsdatei, die in früheren Versionen von Commerce verwendet wurde, sind jetzt auf mehrere Dateien aufgeteilt, die sich in verschiedenen Modulverzeichnissen befinden. Die verschiedenen Konfigurationsdateien von Commerce werden nur bei Bedarf geladen, wenn ein Modul einen bestimmten Konfigurationstyp anfordert.

Sie können diese Dateien - auch als "" bezeichnet verwenden, um bestimmte Aspekte des Verhaltens Ihres Moduls anzupassen.

Mehrere Module können Konfigurationsdateien deklarieren, die denselben Konfigurationstyp betreffen (z. B. Ereignisse), und diese mehreren Konfigurationsdateien werden zusammengeführt.

In diesem Thema werden häufig folgende Begriffe verwendet:

  • Konfigurationsobjekt - Die Commerce-Bibliothek oder -Klasse, die für die Definition und Validierung des Konfigurationstyps verantwortlich ist. Das Konfigurationsobjekt für config.xml ist beispielsweise Magento\Framework\App\Config.

  • Konfigurationsphase - Phasen werden als primär, global und area definiert. Jede Phase bestimmt, wann der Konfigurationstyp geladen und mit gleichnamigen Konfigurationstypen zusammengeführt wird. Beispielsweise werden module.xml Dateien mit anderen module.xml zusammengeführt.

  • Konfigurationsbereich - Ergänzend zu den Konfigurationsphasen definiert ein Bereich das Konfigurationstypmodell. adminhtml ist beispielsweise ein Bereichsbereich, der zu einem späteren Zeitpunkt mit den adminhtml-Konfigurationen anderer Module geladen wird. Weitere Informationen finden Sie unter Module und Bereiche.

Laden und Zusammenführen von Konfigurationen

In diesem Abschnitt wird beschrieben, wie Konfigurationsdateien geladen und zusammengeführt werden.

So lädt Commerce Konfigurationsdateien

Commerce lädt Konfigurationsdateien in der folgenden Reihenfolge (alle Pfade beziehen sich auf Ihr Commerce-Installationsverzeichnis):

  • Primäre Konfiguration (app/etc/di.xml) Diese Datei wird zum Bootstrapping von Commerce verwendet.
  • Globale Konfigurationen aus Modulen (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/*.xml). Sammelt bestimmte Konfigurationsdateien aus allen Modulen und führt sie zusammen.
  • Bereichsspezifische Konfiguration aus Modulen (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/<area>/*.xml). Sammelt Konfigurationsdateien aus allen Modulen und führt sie in der globalen Konfiguration zusammen. Einige bereichsspezifische Konfigurationen können die globale Konfiguration überschreiben oder erweitern.

Hierbei gilt

  • <your component base dir> ist der Basisordner, in dem sich die Komponente befindet. Typische Werte sind app/code oder vendor relativ zum Commerce-Installationsverzeichnis.

  • <vendorname> ist der Anbietername der Komponente; beispielsweise ist der Anbietername von Commerce magento.

  • <component-type> ist eine der folgenden:

    • module-: Eine Erweiterung oder ein Modul.
    • theme-: Design.
    • language-: Sprachpaket.
INFO
Derzeit befinden sich Designs unter <magento_root>/app/design/frontend oder <magento_root>/app/design/adminhtml.
  • <component-name>: Name der Komponente wie in composer.json definiert.

Zusammenführen von Konfigurationsdateien

Knoten in Konfigurationsdateien werden auf der Grundlage ihrer vollqualifizierten XPaths zusammengeführt, für die ein spezielles -Attribut in $idAttributes als Kennung deklarierten Array definiert ist. Diese Kennung muss für alle Knoten eindeutig sein, die unter demselben übergeordneten Knoten verschachtelt sind.

Zusammenführungsalgorithmus der Commerce-Anwendung:

  • Wenn Knotenkennungen gleich sind (oder keine Kennung definiert ist), wird der gesamte zugrunde liegende Inhalt im Knoten (Attribute, untergeordnete Knoten und skalare Inhalte) überschrieben.
  • Wenn die Knotenkennungen nicht gleich sind, ist der Knoten ein neues untergeordnetes Element des übergeordneten Knotens.
  • Wenn das Originaldokument mehrere Knoten mit derselben Kennung enthält, wird ein Fehler ausgelöst, da die Kennungen nicht unterschieden werden können.

Nach dem Zusammenführen der Konfigurationsdateien enthält das resultierende Dokument alle Knoten aus den Originaldateien.

INFO
Sie können die \Magento\Framework\Config\Reader\Filesystem-Klasse zum Debuggen und zum Verstehen der Logik hinter dem Konfigurationsdateien-Ladeprogramm und Zusammenführungskonfigurationen-Prozess verwenden.

Konfigurationstypen, Objekte und Schnittstellen

Die folgenden Abschnitte enthalten Informationen zu Konfigurationstypen, den entsprechenden Konfigurationsobjekten und Schnittstellen, die Sie für die Arbeit mit den Objekten verwenden können:

Konfigurationstypen und Objekte

In der folgenden Tabelle sind die einzelnen Konfigurationstypen und das Commerce-Konfigurationsobjekt aufgeführt, auf das sie sich beziehen.

Konfigurationsdatei
Beschreibung
Etappe
Konfigurationsobjekt
address_formats.xml
Deklaration des Adressformats
primär, global
\Magento\Customer\Model\Address\Config
acl.xml
Zugriffssteuerungsliste
global
\Magento\Framework\Acl\AclResource\Provider
analytics.xml
[Erweiterte Berichte]https://developer.adobe.com/commerce/php/development/advanced-reporting/data-collection/)
primär, global
\Magento\Analytics\Model\Config\Reader
cache.xml
Cache-Typ-Deklaration
primär, global
\Magento\Framework\Cache\Config\Data
catalog_attributes.xml
Konfiguration der Katalogattribute
global
\Magento\Catalog\Model\Attribute\Config\Data
config.php und env.php
Bereitstellungskonfiguration
Diese Dateien können vom internen Konfigurationsprozessor gelesen/geschrieben werden.
Hat kein Objekt, kann nicht angepasst werden
config.xml
Systemkonfiguration
primär, global
\Magento\Framework\App\Config
communication.xml
Definiert Aspekte des Meldungswarteschlangen-Systems
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Communication
crontab.xml
Konfiguriert Cron-Gruppen
global
\Magento\Cron\Model\Config\Data
cron_groups.xml
Gibt die Optionen der Cron-Gruppe an
global
\Magento\Cron\Model\Groups\Config\Data
db_schema.xml
Deklaratives Schema
global
Magento\Framework\Setup\Declaration\Schema
di.xml
Dependency Injection Konfiguration
primär, global, Bereich
\Magento\Framework\ObjectManager\Config
eav_attributes.xml
Stellt die EAV-Attributkonfiguration bereit
global
\Magento\Eav\Model\Entity\Attribute\Config
email_templates.xml
Konfiguration von E-Mail-Vorlagen
global
\Magento\Email\Model\Template\Config\Data
esconfig.xml
Konfiguration für Suchmaschinengebietsschema-Stoppwörter
global
\Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig
events.xml
Ereignis-/Beobachterkonfiguration
global, area
\Magento\Framework\Event
export.xml
Entitätskonfiguration exportieren
global
\Magento\ImportExport\Model\Export\Config
extension_attributes.xml
Erweiterungsattribute
global
\Magento\Framework\Api\ExtensionAttribute\Config
fieldset.xml
Definiert Feldsätze
global
\Magento\Framework\DataObject\Copy\Config\Reader
indexer.xml
Deklariert Indexer
global
\Magento\Framework\Indexer\Config\Reader
import.xml
Deklariert Importentitäten
global
\Magento\ImportExport\Model\Import\Config
menu.xml
Definiert Menüelemente für den Administrator
adminHTML
\Magento\Backend\Model\Menu\Config\Reader
module.xml
Definiert Modulkonfigurationsdaten und Soft-Abhängigkeiten
primär, global
\Magento\Framework\Module\ModuleList\Loader
mview.xml
MView-Konfiguration
primär, global
\Magento\Framework\Mview\Config\Data
payment.xml
Konfiguration des Zahlungsmoduls
primär, global
\Magento\Payment\Model\Config
persistent.xml
Konfigurationsdatei Magento_Persistent
global
\Magento\Persistent\Helper\Data
pdf.xml
PDF-Einstellungen
global
\Magento\Sales\Model\Order\Pdf\Config\Reader
product_options.xml
Bietet eine Konfiguration der Produktoptionen
global
\Magento\Catalog\Model\ProductOptions\Config
product_types.xml
Definiert den Produkttyp
global
\Magento\Catalog\Model\ProductTypes\Config
queue_consumer.xml
Definiert die Beziehung zwischen einer vorhandenen Warteschlange und ihrem Verbraucher
global
\Magento\Framework\MessageQueue\Consumer\Config\Xml\Reader
queue_publisher.xml
Definiert den Austausch, in dem ein Thema veröffentlicht wird.
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Publisher
queue_topology.xml
Definiert die Routing-Regeln für Nachrichten, deklariert Warteschlangen und Austausche
global
\Magento\Framework\MessageQueue\Topology\Config\Xml\Reader
reports.xml
Erweiterte Berichte
global
\Magento\Analytics\ReportXml\Config
resources.xml
Definiert die Modulressource
global
\Magento\Framework\App\ResourceConnection\Config\Reader
routes.xml
Route-Konfiguration
Bereich
Magento\Framework\App\Route\Config
sales.xml
Definiert die Konfiguration des Gesamtverkaufs
global
\Magento\Sales\Model\Config\Data
search_engine.xml
Stellt die Suchmaschinenkonfiguration bereit
global
Magento\Search\Model\SearchEngine\Config
search_request.xml
Definiert die Konfiguration der Katalogsuche
global
\Magento\Framework\Search\Request\Config
sections.xml
Definiert Aktionen, die die Trigger-Cache-Invalidierung für private Inhaltsblöcke ermöglichen
Frontend
SectionInvalidationConfigReader
system.xml
Definiert Optionen für die Systemkonfigurationsseite
adminHTML
\Magento\Framework\App\Config
validation.xml
Konfigurationsdatei für die Modulvalidierung
global
\Magento\Framework\Validator\Factory
view.xml
Definiert Konfigurationswerte der Ansicht Vendor_Module .
global
\Magento\Framework\View\Config
webapi.xml
Konfiguriert eine Web-API
global
\Magento\Webapi\Model\Config
webapi_async.xml
Definiert benutzerdefinierte REST-Routen
global
\Magento\WebapiAsync\Model\ServiceConfig
widget.xml
Definiert Widgets
global
\Magento\Widget\Model\Config\Reader
zip_codes.xml
Definiert das Postleitzahlformat für jedes Land
global
\Magento\Directory\Model\Country\Postcode\Config\Data

Konfigurationsoberflächen

Sie können mit Konfigurationsdateien über Schnittstellen unter Magento\Framework\Config interagieren.

Sie können diese Schnittstellen verwenden, wenn Sie einen Konfigurationstyp erstellen.

Magento\Framework\Config bietet die folgenden Schnittstellen:

Das heißt, das Dateisystem, die Datenbank und der andere Speicher führen die Konfigurationsdateien gemäß den Zusammenführungsregeln zusammen und validieren die Konfigurationsdateien mit den Validierungsschemata.

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