Überblick über die Modulkonfigurationsdateien

Die Zuständigkeiten der config.xml Die Konfigurationsdatei, die in früheren Versionen von Commerce verwendet wird, ist jetzt zwischen mehreren Dateien unterteilt, 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 verwenden, die auch als Konfigurationstypen—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 zuständig ist. Beispielsweise das Konfigurationsobjekt für config.xml is Magento\Framework\App\Config.

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

  • Konfigurationsbereich—Ergänzend zu den Konfigurationsphasen definiert ein Perimeter das Konfigurationstypmodell. Beispiel: adminhtml ist ein Bereichsbereich, der im Moment mit anderen Modulen geladen wird. adminhtml -Konfigurationen. 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.

Wie Commerce Konfigurationsdateien lädt

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 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 Installationsordner von Commerce.

  • <vendorname> ist der Name des Anbieters der Komponente. Der Name des Anbieters in Commerce lautet beispielsweise magento.

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

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

Zusammenführen von Konfigurationsdateien

Knoten in Konfigurationsdateien werden basierend auf ihren vollständig qualifizierten XPaths zusammengeführt, wobei ein spezielles Attribut definiert ist in $idAttributes -Array, das 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 \Magento\Framework\Config\Reader\Filesystem -Klasse zum Debuggen und Verständnis der Logik hinter Ladeprogramm für Konfigurationsdateien und Zusammenführungskonfigurationen -Prozess.

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

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

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
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
Konfigurationen von Cron-Gruppen
global
\Magento\Cron\Model\Config\Data
cron_groups.xml
Gibt Cron-Gruppenoptionen an
global
\Magento\Cron\Model\Groups\Config\Data
db_schema.xml
Deklaratives Schema
global
Magento\Framework\Setup\Declaration\Schema
di.xml
Injektion der Abhängigkeit Konfiguration
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
Konfiguration der Gebietsschema-Stoppwörter der Suchmaschine
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
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 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, bei 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
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
Web-API konfigurieren
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 interagieren Magento\Framework\Config.

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

Magento\Framework\Config stellt die folgenden Schnittstellen bereit:

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