Översikt över modulkonfigurationsfiler

Ansvarsområdena för konfigurationsfilen config.xml som används i tidigare versioner av Commerce är nu uppdelade mellan flera filer, som finns i olika modulkataloger. Commerce flera konfigurationsfiler läses bara in på begäran när en modul begär en viss konfigurationstyp.

Du kan använda de här filerna, som även kallas konfigurationstyper, för att anpassa specifika aspekter av modulens beteende.

Flera moduler kan deklarera konfigurationsfiler som påverkar samma konfigurationstyp (till exempel händelser), och dessa flera konfigurationsfiler sammanfogas.

Här följer några vanliga termer som används i det här avsnittet:

  • Konfigurationsobjekt - Commerce-biblioteket eller klassen som ansvarar för att definiera och validera konfigurationstypen. Konfigurationsobjektet för config.xml är till exempel Magento\Framework\App\Config.

  • Konfigurationsscen - Steg definieras som primär, global och område. Varje steg avgör när konfigurationstypen läses in och sammanfogas med konfigurationstyper med samma namn. Till exempel sammanfogas module.xml filer med andra module.xml-filer.

  • Konfigurationsomfång - Som komplement till konfigurationsfaser definierar ett omfång konfigurationsmodellen. adminhtml är till exempel ett områdesomfång som läses in med andra modulers adminhtml-konfigurationer på scenen. Mer information finns i Moduler och områden.

Inläsning och sammanfogning av konfiguration

I det här avsnittet beskrivs hur konfigurationsfiler läses in och sammanfogas.

Hur Commerce läser in konfigurationsfiler

Commerce läser in konfigurationsfiler i följande ordning (alla sökvägar är relativa till din Commerce installationskatalog):

  • Primär konfiguration (app/etc/di.xml). Den här filen används för att starta Commerce.
  • Globala konfigurationer från moduler (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/*.xml). Samlar in vissa konfigurationsfiler från alla moduler och sammanfogar dem.
  • Områdesspecifik konfiguration från moduler (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/<area>/*.xml). Samlar in konfigurationsfiler från alla moduler och sammanfogar dem i den globala konfigurationen. Vissa områdesspecifika konfigurationer kan åsidosätta eller utöka den globala konfigurationen.

där

  • <your component base dir> är den baskatalog där komponenten finns. Typiska värden är app/code eller vendor relativa till Commerce installationskatalog.

  • <vendorname> är komponentens leverantörsnamn. Commerce leverantörsnamn är till exempel magento.

  • <component-type> är något av följande:

    • module-: Ett tillägg eller en modul.
    • theme-: Tema.
    • language-: Språkpaket.
INFO
För närvarande finns teman under <magento_root>/app/design/frontend eller <magento_root>/app/design/adminhtml.

Sammanfogning av konfigurationsfil

Noder i konfigurationsfiler sammanfogas baserat på deras kvalificerade XPaths, som har ett särskilt attribut definierat i arrayen $idAttributes som deklarerats som identifierare. Den här identifieraren måste vara unik för alla noder som är kapslade under samma överordnade nod.

Commerce-algoritm för programsammanslagning:

  • Om nodidentifierare är lika (eller om ingen identifierare har definierats) åsidosätts allt underliggande innehåll i noden (attribut, underordnade noder och skalärt innehåll).
  • Om nodidentifierare inte är lika är noden en ny underordnad nod till den överordnade noden.
  • Om det ursprungliga dokumentet har flera noder med samma identifierare utlöses ett fel eftersom identifierarna inte kan särskiljas.

När konfigurationsfilerna har sammanfogats innehåller det resulterande dokumentet alla noder från originalfilerna.

INFO
Du kan använda klassen \Magento\Framework\Config\Reader\Filesystem för att felsöka och förstå logiken bakom processen inläsare för konfigurationsfiler och sammanfogningskonfigurationer.

Konfigurationstyper, objekt och gränssnitt

I följande avsnitt finns information om konfigurationstyper, deras motsvarande konfigurationsobjekt och gränssnitt som du kan använda för att arbeta med objekten:

Konfigurationstyper och objekt

I följande tabell visas varje konfigurationstyp och det konfigurationsobjekt för Commerce som den hör till.

Konfigurationsfil
Beskrivning
Scen
Konfigurationsobjekt
address_formats.xml
Deklaration om adressformat
primär, global
\Magento\Customer\Model\Address\Config
acl.xml
Åtkomstkontrollista
global
\Magento\Framework\Acl\AclResource\Provider
analytics.xml
Avancerad rapportering
primär, global
\Magento\Analytics\Model\Config\Reader
cache.xml
Cachetypdeklaration
primär, global
\Magento\Framework\Cache\Config\Data
catalog_attributes.xml
Katalogattributskonfiguration
global
\Magento\Catalog\Model\Attribute\Config\Data
config.php och env.php
Distributionskonfiguration
Dessa filer kan läsas/skrivas av den interna konfigurationsprocessorn.
Har inget objekt, kan inte anpassas
config.xml
Systemkonfiguration
primär, global
\Magento\Framework\App\Config
communication.xml
Definierar aspekter av meddelandekösystemet
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Communication
crontab.xml
Konfigurerar cron-grupper
global
\Magento\Cron\Model\Config\Data
cron_groups.xml
Anger alternativ för cron-grupp
global
\Magento\Cron\Model\Groups\Config\Data
db_schema.xml
Deklarativt schema
global
Magento\Framework\Setup\Declaration\Schema
di.xml
Konfiguration för beroendeinjektion
primär, global, area
\Magento\Framework\ObjectManager\Config
eav_attributes.xml
Tillhandahåller konfiguration för EAV-attribut
global
\Magento\Eav\Model\Entity\Attribute\Config
email_templates.xml
Konfiguration av e-postmallar
global
\Magento\Email\Model\Template\Config\Data
esconfig.xml
Konfiguration av stoppord för sökmotorns nationella inställningar
global
\Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig
events.xml
Konfiguration av händelse/observatör
globalt, område
\Magento\Framework\Event
export.xml
Exportera enhetskonfiguration
global
\Magento\ImportExport\Model\Export\Config
extension_attributes.xml
Tilläggsattribut
global
\Magento\Framework\Api\ExtensionAttribute\Config
fieldset.xml
Definierar fältuppsättningar
global
\Magento\Framework\DataObject\Copy\Config\Reader
indexer.xml
Deklarerar indexerare
global
\Magento\Framework\Indexer\Config\Reader
import.xml
Deklarerar importenheter
global
\Magento\ImportExport\Model\Import\Config
menu.xml
Definierar menyalternativ för administratören
adminhtml
\Magento\Backend\Model\Menu\Config\Reader
module.xml
Definierar modulens konfigurationsdata och mjuka beroenden
primär, global
\Magento\Framework\Module\ModuleList\Loader
mview.xml
MView-konfiguration
primär, global
\Magento\Framework\Mview\Config\Data
payment.xml
Konfiguration av betalningsmodul
primär, global
\Magento\Payment\Model\Config
persistent.xml
Konfigurationsfilen Magento_Persistent
global
\Magento\Persistent\Helper\Data
pdf.xml
Inställningar för PDF
global
\Magento\Sales\Model\Order\Pdf\Config\Reader
product_options.xml
Tillhandahåller konfiguration av produktalternativ
global
\Magento\Catalog\Model\ProductOptions\Config
product_types.xml
Definierar produkttyp
global
\Magento\Catalog\Model\ProductTypes\Config
queue_consumer.xml
Definierar relationen mellan en befintlig kö och dess konsument
global
\Magento\Framework\MessageQueue\Consumer\Config\Xml\Reader
queue_publisher.xml
Definierar utbytet där ett ämne publiceras.
global
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Publisher
queue_topology.xml
Definierar regler för meddelandedirigering, deklarerar köer och utbyten
global
\Magento\Framework\MessageQueue\Topology\Config\Xml\Reader
reports.xml
Avancerade rapporter
global
\Magento\Analytics\ReportXml\Config
resources.xml
Definierar modulresurs
global
\Magento\Framework\App\ResourceConnection\Config\Reader
routes.xml
Route-konfiguration
area
Magento\Framework\App\Route\Config
sales.xml
Definierar total konfiguration för försäljning
global
\Magento\Sales\Model\Config\Data
search_engine.xml
Tillhandahåller sökmotorkonfiguration
global
Magento\Search\Model\SearchEngine\Config
search_request.xml
Definierar katalogsökningskonfiguration
global
\Magento\Framework\Search\Request\Config
sections.xml
Definierar åtgärder som utlöser cacheogiltigförklaring för privata innehållsblock
frontend
SectionInvalidationConfigReader
system.xml
Definierar alternativ för sidan för systemkonfiguration
adminhtml
\Magento\Framework\App\Config
validation.xml
Konfigurationsfil för modulvalidering
global
\Magento\Framework\Validator\Factory
view.xml
Definierar visningskonfigurationsvärden för Vendor_Module
global
\Magento\Framework\View\Config
webapi.xml
Konfigurerar ett webb-API
global
\Magento\Webapi\Model\Config
webapi_async.xml
Definierar anpassade REST-vägar
global
\Magento\WebapiAsync\Model\ServiceConfig
widget.xml
Definierar widgetar
global
\Magento\Widget\Model\Config\Reader
zip_codes.xml
Definierar postnummerformat för varje land
global
\Magento\Directory\Model\Country\Postcode\Config\Data

Konfigurationsgränssnitt

Du kan interagera med konfigurationsfiler med gränssnitt under Magento\Framework\Config.

Du kan använda dessa gränssnitt om du skapar en konfigurationstyp.

Magento\Framework\Config innehåller följande gränssnitt:

Det vill säga, filsystemet, databasen, annan lagring, sammanfogar konfigurationsfilerna enligt sammanfogningsreglerna och validerar konfigurationsfilerna med valideringsscheman.

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