Panoramica dei file di configurazione del modulo

Le responsabilità del config.xml Il file di configurazione utilizzato nelle versioni precedenti di Commerce ora è suddiviso tra diversi file, situati in varie directory dei moduli. I file di configurazione multipli di Commerce vengono caricati su richiesta solo quando un modulo richiede un tipo di configurazione specifico.

È possibile utilizzare questi file, denominati anche tipi di configurazione- per personalizzare aspetti specifici del comportamento del modulo.

Più moduli possono dichiarare file di configurazione che influiscono sullo stesso tipo di configurazione (ad esempio, eventi) e questi file di configurazione multipli vengono uniti.

Di seguito sono riportati i termini comuni utilizzati in questo argomento:

  • Oggetto di configurazione- Libreria o classe Commerce responsabile della definizione e della convalida del tipo di configurazione. Ad esempio, l’oggetto di configurazione per config.xml è Magento\Framework\App\Config.

  • Fase di configurazione- Gli stadi sono definiti come primario, globale, e area. Ogni fase determina quando il tipo di configurazione viene caricato e unito con tipi di configurazione con lo stesso nome. Ad esempio: module.xml i file vengono uniti con altri module.xml file.

  • Ambito di configurazione- Complementare agli stadi di configurazione, un ambito definisce il modello del tipo di configurazione. Ad esempio: adminhtml è un ambito di area caricato con nella fase con altri moduli' adminhtml configurazioni. Per ulteriori informazioni, consulta Moduli e aree.

Caricamento della configurazione e unione

Questa sezione descrive come caricare e unire i file di configurazione.

Come Commerce carica i file di configurazione

Commerce carica i file di configurazione nell’ordine seguente (tutti i percorsi sono relativi alla directory di installazione di Commerce):

  • Configurazione principale (app/etc/di.xml). Questo file viene utilizzato per avviare Commerce.
  • Configurazioni globali da moduli (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/*.xml). Raccoglie determinati file di configurazione da tutti i moduli e li unisce.
  • Configurazione specifica dell'area dai moduli (<your component base dir>/<vendorname>/<component-type>-<component-name>/etc/<area>/*.xml). Raccoglie i file di configurazione da tutti i moduli e li unisce nella configurazione globale. Alcune configurazioni specifiche per l’area possono ignorare o estendere la configurazione globale.

dove

  • <your component base dir> è la directory di base in cui si trova il componente. I valori tipici sono app/code o vendor relativo alla directory di installazione di Commerce.

  • <vendorname> è il nome del fornitore del componente; ad esempio, il nome del fornitore di Commerce è magento.

  • <component-type> è uno dei seguenti:

    • module-: estensione o modulo.
    • theme-: tema.
    • language-: pacchetto lingua.
INFO
Attualmente, i temi si trovano in <magento_root>/app/design/frontend o <magento_root>/app/design/adminhtml.

Unione file di configurazione

I nodi nei file di configurazione vengono uniti in base ai relativi XPath completi, per i quali è stato definito un attributo speciale in $idAttributes array dichiarato come identificatore. Questo identificatore deve essere univoco per tutti i nodi nidificati sotto lo stesso nodo principale.

Algoritmo di unione delle applicazioni Commerce:

  • Se gli identificatori dei nodi sono uguali (o se non è definito alcun identificatore), tutto il contenuto sottostante nel nodo (attributi, nodi secondari e contenuto scalare) viene sovrascritto.
  • Se gli identificatori dei nodi non sono uguali, il nodo è un nuovo elemento figlio del nodo principale.
  • Se il documento originale ha più nodi con lo stesso identificatore, viene attivato un errore perché gli identificatori non possono essere distinti.

Dopo aver unito i file di configurazione, il documento risultante contiene tutti i nodi dei file originali.

INFO
È possibile utilizzare \Magento\Framework\Config\Reader\Filesystem classe per il debug e per comprendere la logica alla base di caricatore file di configurazione e unisci configurazioni processo.

Tipi di configurazione, oggetti e interfacce

Nelle sezioni seguenti vengono fornite informazioni sui tipi di configurazione, sugli oggetti di configurazione corrispondenti e sulle interfacce che è possibile utilizzare per lavorare con gli oggetti:

Tipi di configurazione e oggetti

La tabella seguente mostra ogni tipo di configurazione e l’oggetto di configurazione Commerce a cui si riferisce.

File di configurazione
Descrizione
Fase
Oggetto di configurazione
address_formats.xml
Dichiarazione formato indirizzo
primario, globale
\Magento\Customer\Model\Address\Config
acl.xml
Elenco di controllo di accesso
globale
\Magento\Framework\Acl\AclResource\Provider
analytics.xml
Reporting avanzato
primario, globale
\Magento\Analytics\Model\Config\Reader
cache.xml
Dichiarazione tipo cache
primario, globale
\Magento\Framework\Cache\Config\Data
catalog_attributes.xml
Configurazione attributi catalogo
globale
\Magento\Catalog\Model\Attribute\Config\Data
config.php e env.php
Configurazione della distribuzione
Questi file sono leggibili/scrivibili dal processore di configurazione interno.
Non ha alcun oggetto, non può essere personalizzato
config.xml
Configurazione del sistema
primario, globale
\Magento\Framework\App\Config
communication.xml
Definisce gli aspetti del sistema della coda di messaggi
globale
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Communication
crontab.xml
Configura i gruppi cron
globale
\Magento\Cron\Model\Config\Data
cron_groups.xml
Specifica le opzioni del gruppo cron
globale
\Magento\Cron\Model\Groups\Config\Data
db_schema.xml
Schema dichiarativo
globale
Magento\Framework\Setup\Declaration\Schema
di.xml
Iniezione di dipendenza configurazione
primario, globale, area
\Magento\Framework\ObjectManager\Config
eav_attributes.xml
Fornisce la configurazione degli attributi EAV
globale
\Magento\Eav\Model\Entity\Attribute\Config
email_templates.xml
Configurazione dei modelli e-mail
globale
\Magento\Email\Model\Template\Config\Data
esconfig.xml
Configurazione parole non significative per le impostazioni locali del motore di ricerca
globale
\Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig
events.xml
Configurazione evento/osservatore
globale, area
\Magento\Framework\Event
export.xml
Esporta configurazione entità
globale
\Magento\ImportExport\Model\Export\Config
extension_attributes.xml
Attributi di estensione
globale
\Magento\Framework\Api\ExtensionAttribute\Config
fieldset.xml
Definisce i set di campi
globale
\Magento\Framework\DataObject\Copy\Config\Reader
indexer.xml
Dichiara gli indicizzatori
globale
\Magento\Framework\Indexer\Config\Reader
import.xml
Dichiara entità di importazione
globale
\Magento\ImportExport\Model\Import\Config
menu.xml
Definisce le voci di menu per l’Amministratore
adminhtml
\Magento\Backend\Model\Menu\Config\Reader
module.xml
Definisce i dati di configurazione del modulo e la dipendenza morbida
primario, globale
\Magento\Framework\Module\ModuleList\Loader
mview.xml
Configurazione MView
primario, globale
\Magento\Framework\Mview\Config\Data
payment.xml
Configurazione del modulo di pagamento
primario, globale
\Magento\Payment\Model\Config
persistent.xml
Magento_Persistente file di configurazione
globale
\Magento\Persistent\Helper\Data
pdf.xml
Impostazioni PDF
globale
\Magento\Sales\Model\Order\Pdf\Config\Reader
product_options.xml
Fornisce la configurazione delle opzioni prodotto
globale
\Magento\Catalog\Model\ProductOptions\Config
product_types.xml
Definisce il tipo di prodotto
globale
\Magento\Catalog\Model\ProductTypes\Config
queue_consumer.xml
Definisce la relazione tra una coda esistente e il relativo consumatore
globale
\Magento\Framework\MessageQueue\Consumer\Config\Xml\Reader
queue_publisher.xml
Definisce lo scambio in cui viene pubblicato un argomento.
globale
\Magento\WebapiAsync\Code\Generator\Config\RemoteServiceReader\Publisher
queue_topology.xml
Definisce le regole di instradamento dei messaggi, dichiara le code e gli scambi
globale
\Magento\Framework\MessageQueue\Topology\Config\Xml\Reader
reports.xml
Rapporti avanzati
globale
\Magento\Analytics\ReportXml\Config
resources.xml
Definisce la risorsa del modulo
globale
\Magento\Framework\App\ResourceConnection\Config\Reader
routes.xml
Percorso configurazione
area
Magento\Framework\App\Route\Config
sales.xml
Definisce la configurazione del totale delle vendite
globale
\Magento\Sales\Model\Config\Data
search_engine.xml
Fornisce la configurazione del motore di ricerca
globale
Magento\Search\Model\SearchEngine\Config
search_request.xml
Definisce la configurazione della ricerca nel catalogo
globale
\Magento\Framework\Search\Request\Config
sections.xml
Definisce le azioni che attivano l’invalidazione della cache per i blocchi di contenuto privato
front-end
.LettoreConfigInvalidazioneSezione
system.xml
Definisce le opzioni per la pagina di configurazione del sistema
adminhtml
\Magento\Framework\App\Config
validation.xml
File di configurazione convalida modulo
globale
\Magento\Framework\Validator\Factory
view.xml
Definisce i valori di configurazione della vista Vendor_Module
globale
\Magento\Framework\View\Config
webapi.xml
Configura un’API web
globale
\Magento\Webapi\Model\Config
webapi_async.xml
Definisce i percorsi personalizzati REST
globale
\Magento\WebapiAsync\Model\ServiceConfig
widget.xml
Definisce i widget
globale
\Magento\Widget\Model\Config\Reader
zip_codes.xml
Definisce il formato del codice postale per ogni paese
globale
\Magento\Directory\Model\Country\Postcode\Config\Data

Interfacce di configurazione

È possibile interagire con i file di configurazione utilizzando le interfacce in Magento\Framework\Config.

Queste interfacce possono essere utilizzate creare un tipo di configurazione.

Magento\Framework\Config fornisce le seguenti interfacce:

In altre parole, il file system, il database o altri archivi uniscono i file di configurazione in base alle regole di unione e convalidano i file di configurazione con gli schemi di convalida.

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