Überblick über die Modulkonfigurationsdateien

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

Sie können diese Dateien - auch als Konfigurationstypen 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 verschiedenen Konfigurationsdateien werden zusammengeführt.

In diesem Thema werden häufig Begriffe verwendet:

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

  • Konfigurationsphase: Phasen werden als primary, global und area definiert. Jede Phase bestimmt, wann der Konfigurationstyp geladen und mit denselben benannten Konfigurationstypen zusammengeführt wird. Beispielsweise werden module.xml -Dateien mit anderen module.xml -Dateien zusammengeführt.

  • Konfigurationsbereich - Ergänzend zu den Konfigurationsphasen definiert ein Bereich das Konfigurationstypmodell. Beispiel: adminhtml ist ein Bereichsbereich, der zum 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 erläutert, wie Konfigurationsdateien geladen und zusammengeführt werden.

Laden von Konfigurationsdateien durch Commerce

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

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

where

  • <your component base dir> ist das Basisverzeichnis, in dem sich Ihre Komponente befindet. Typische Werte sind app/code oder vendor relativ zum Commerce-Installationsordner.

  • <vendorname> ist der Name des Anbieters der Komponente. Beispielsweise lautet der Name des Anbieters von Commerce magento.

  • <component-type> ist einer der folgenden Werte:

    • 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 Ihrer Komponente gemäß der Definition in composer.json.

Zusammenführen von Konfigurationsdateien

Knoten in Konfigurationsdateien werden basierend auf ihren vollständig qualifizierten XPaths zusammengeführt, wobei ein spezielles Attribut, das im Array $idAttributes definiert ist, als Kennung deklariert ist. Diese Kennung muss für alle Knoten eindeutig sein, die unter demselben übergeordneten Knoten verschachtelt sind.

Commerce-Anwendungszusammenführungsalgorithmus:

  • 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 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 identifiziert werden können.

Nachdem die Konfigurationsdateien zusammengeführt wurden, enthält das resultierende Dokument alle Knoten aus den Originaldateien.

INFO
Sie können die Klasse \Magento\Framework\Config\Reader\Filesystem zum Debugging und Verständnis der Logik hinter dem Prozess Konfigurationsdateien laden und Zusammenführungskonfigurationen verwenden.

Konfigurationstypen, -objekte und -schnittstellen

Die folgenden Abschnitte enthalten Informationen zu Konfigurationstypen, den zugehörigen Konfigurationsobjekten und Schnittstellen, die Sie zum Arbeiten mit den Objekten verwenden können:

Konfigurationstypen und -objekte

Die folgende Tabelle zeigt jeden Konfigurationstyp und das Commerce-Konfigurationsobjekt, auf das er sich bezieht.

Konfigurationsdatei
Beschreibung
Staging
Konfigurationsobjekt
address_formats.xml
Adressenformatdeklaration
primary, global
\Magento\Customer\Model\Address\Config
acl.xml
Zugriffssteuerungsliste
global
\Magento\Framework\Acl\AclResource\Provider
analytics.xml
[Erweiterte Berichterstellung]https://developer.adobe.com/commerce/php/development/advanced-reporting/data-collection/)
primary, global
\Magento\Analytics\Model\Config\Reader
cache.xml
Cache-Typdeklaration
primary, global
\Magento\Framework\Cache\Config\Data
catalog_attributes.xml
Konfiguration von Katalogattributen
global
\Magento\Catalog\Model\Attribute\Config\Data
config.php und env.php
Bereitstellungskonfiguration
Diese Dateien sind vom internen Konfigurationsprozessor lesbar/beschreibbar.
Hat kein Objekt, kann nicht angepasst werden
config.xml
Systemkonfiguration
primary, global
\Magento\Framework\App\Config
communication.xml
Definiert Aspekte des Nachrichtenwarteschlangensystems
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Communication
crontab.xml
Konfiguriert Cron-Gruppen
global
\Magento\Cron\Model\Config\Data
cron_groups.xml
Gibt die Cron-Gruppenoptionen an
global
\Magento\Cron\Model\Groups\Config\Data
db_schema.xml
Deklaratives Schema
global
Magento\Framework\Setup\Declaration\Schema
di.xml
Konfiguration von Abhängigkeitsinjektion
primary, global, area
\Magento\Framework\ObjectManager\Config
eav_attributes.xml
Konfiguration von EAV-Attributen
global
\Magento\Eav\Model\Entity\Attribute\Config
email_templates.xml
Konfiguration von E-Mail-Vorlagen
global
\Magento\Email\Model\Template\Config\Data
esconfig.xml
Gebietsschema-Stoppwörter der Suchmaschine config
global
\Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig
events.xml
Ereignis-/Beobachter-Konfiguration
global, area
\Magento\Framework\Event
export.xml
Konfiguration der Exportentität
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
Declares indexers
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 weiche Abhängigkeit
primary, global
\Magento\Framework\Module\ModuleList\Loader
mview.xml
MView-Konfiguration
primary, global
\Magento\Framework\Mview\Config\Data
payment.xml
Konfiguration des Zahlungsmoduls
primary, global
\Magento\Payment\Model\Config
persistent.xml
Magento_Persistent Konfigurationsdatei
global
\Magento\Persistent\Helper\Data
pdf.xml
PDF-Einstellungen
global
\Magento\Sales\Model\Order\Pdf\Config\Reader
product_options.xml
Konfiguration von 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, an dem ein Thema veröffentlicht wird.
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Publisher
queue_topology.xml
Definiert die Regeln für das Weiterleiten von 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
area
Magento\Framework\App\Route\Config
sales.xml
Definiert die Konfiguration der Verkaufssumme
global
\Magento\Sales\Model\Config\Data
search_engine.xml
Suchmaschinenkonfiguration
global
Magento\Search\Model\SearchEngine\Config
search_request.xml
Definiert die Konfiguration der Katalogsuche
global
\Magento\Framework\Search\Request\Config
sections.xml
Definiert Aktionen, bei denen die Invalidierung des Triggers-Cache für private Inhaltsbausteine durchgeführt wird
frontend
SectionInvalidationConfigReader
system.xml
Definiert Optionen für die Systemkonfigurationsseite
adminhtml
\Magento\Framework\App\Config
validation.xml
Konfigurationsdatei für 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 Konfigurationstyperstellen.

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 Validierungsschemas.

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