Overzicht van moduleconfiguratiebestanden
De verantwoordelijkheden van het config.xml
-configuratiebestand dat in eerdere versies van Commerce wordt gebruikt, zijn nu verdeeld over verschillende bestanden in verschillende moduledirectory's. De veelvoudige configuratiedossiers van Commerce laden op bestelling slechts wanneer een module om een specifiek configuratietype verzoekt.
U kunt deze dossiers-ook gebruiken die als worden bedoeld configuratietypen - om specifieke aspecten van het gedrag van uw module aan te passen.
De veelvoudige modules kunnen configuratiedossiers verklaren die het zelfde configuratietype (bijvoorbeeld, gebeurtenissen) beïnvloeden, en deze veelvoudige configuratiedossiers worden samengevoegd.
Hieronder vindt u algemene termen die in dit onderwerp worden gebruikt:
-
voorwerp van de Configuratie - de bibliotheek of de klasse van Commerce die voor het bepalen van en het bevestigen van het configuratietype verantwoordelijk is. Bijvoorbeeld, is het configuratievoorwerp voor
config.xml
Magento\Framework\App\Config. -
{het stadium van de Configuratie 1} - de Staven van de 1} Configuratie worden bepaald als primaire, globaal, en gebied. Elk stadium bepaalt wanneer het configuratietype wordt geladen en met zelfde-genoemde configuratietypen samengevoegd.
module.xml
-bestanden worden bijvoorbeeld samengevoegd met anderemodule.xml
-bestanden. -
werkingsgebied van de Configuratie - Complementair aan configuratiestadia, bepaalt een werkingsgebied het model van het configuratietype.
adminhtml
is bijvoorbeeld een gebiedsbereik dat in het werkgebied wordt geladen met deadminhtml
-configuraties van andere modules. Voor meer informatie, zie Modules en gebieden.
Configuratie laden en samenvoegen
In deze sectie wordt beschreven hoe configuratiebestanden worden geladen en samengevoegd.
Hoe Commerce configuratiebestanden laadt
Commerce laadt configuratiebestanden in de volgende volgorde (alle paden zijn relatief ten opzichte van de installatiemap van Commerce):
- Primaire configuratie ( app/etc/di.xml). Dit bestand wordt gebruikt om Commerce op te starten.
- Algemene configuraties van modules (
<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/*.xml
). Verzamelt bepaalde configuratiedossiers van alle modules en voegt hen samen samen. - Vlakspecifieke configuratie van modules (
<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/<area>/*.xml
). Verzamelt configuratiedossiers van alle modules en voegt hen in de globale configuratie samen. Sommige gebiedsspecifieke configuraties kunnen de globale configuratie met voeten treden of uitbreiden.
waar
-
<your component base dir>
is de basismap waarin de component zich bevindt. De meeste waarden zijnapp/code
ofvendor
ten opzichte van de installatiemap van Commerce. -
<vendorname>
is de leveranciersnaam van de component. De naam van de Commerce-leverancier is bijvoorbeeldmagento
. -
<component-type>
is een van de volgende:module-
: Een extensie of module.theme-
: Thema.language-
: Taalpakket.
<magento_root>/app/design/frontend
of <magento_root>/app/design/adminhtml
.<component-name>
: Naam van uw component zoals die in wordt bepaald composer.json.
Samenvoegen van configuratiebestand
Knooppunten in configuratiebestanden worden samengevoegd op basis van hun volledig gekwalificeerde XPails, waarvoor een speciaal kenmerk is gedefinieerd in de array $idAttributes
die als id is gedeclareerd. Deze id moet uniek zijn voor alle geneste knooppunten onder hetzelfde bovenliggende knooppunt.
Samenvoegalgoritme Commerce-toepassing:
- Als knoopherkenningstekens gelijk zijn (of als er geen herkenningsteken wordt bepaald), wordt al onderliggende inhoud in de knoop (attributen, kindknopen, en scalaire inhoud) met voeten getreden.
- Als knoopherkenningstekens niet gelijk zijn, is de knoop een nieuw kind van de ouderknoop.
- Als het oorspronkelijke document meerdere knooppunten met dezelfde id heeft, wordt een fout geactiveerd omdat de id's niet kunnen worden onderscheiden.
Nadat de configuratiedossiers worden samengevoegd, bevat het resulterende document alle knopen van de originele dossiers.
Configuratietypen, objecten en interfaces
De volgende secties verstrekken informatie over configuratietypen, hun overeenkomstige configuratievoorwerpen, en interfaces die u kunt gebruiken om met de voorwerpen te werken:
Configuratietypen en -objecten
De volgende lijst toont elk configuratietype en het de configuratievoorwerp van Commerce waarop het betrekking heeft.
address_formats.xml
analytics.xml
catalog_attributes.xml
config.php
en env.php
communication.xml
cron_groups.xml
eav_attributes.xml
email_templates.xml
esconfig.xml
extension_attributes.xml
import.xml
menu.xml
module.xml
product_types.xml
queue_consumer.xml
queue_publisher.xml
queue_topology.xml
resources.xml
search_engine.xml
search_request.xml
sections.xml
system.xml
validation.xml
view.xml
zip_codes.xml
Configuratieinterfaces
U kunt met configuratiedossiers in wisselwerking staan gebruikend interfaces onder Magento \ Kader \ Config.
U kunt deze interfaces gebruiken als u een configuratietypecreeert.
Magento\Framework\Config
biedt de volgende interfaces:
- Kader \ Config \ ConverterInterface, die XML in een in-geheugenserievertegenwoordiging van de configuraties omzet.
- Kader \ Config \ DataInterface, die de configuratiegegevens in een gespecificeerd werkingsgebied terugwint.
- Kader \ Config \ FileResolverInterface, die de plaats van dossiers identificeert die door Magento\Framework\Config\ReaderInterfacemoeten worden gelezen.
- Kader \ Config \ ReaderInterface, dat de configuratiegegevens van opslag leest en de opslag selecteert waarvan het leest.
Met andere woorden, het bestandssysteem, de database en andere opslagsystemen voegen de configuratiebestanden samen volgens de samenvoegingsregels en valideren de configuratiebestanden met de validatieschema's.
- Kader \ Config \ SchemaLocatorInterface, die van het XSD schema de plaats bepaalt.
- Kader \ Config \ ScopeListInterface, die een lijst van werkingsgebied terugkeert.
- Kader \ Config \ ValidationStateInterface, die de bevestigingsstaat terugwint.