Importa impostazioni di configurazione
Quando si configura un sistema di produzione utilizzando il modello di distribuzione della pipeline 🔗 di Commerce 2.2 , è necessario importare le impostazioni di configurazione da config.php
e env.php
nel database.
Queste impostazioni includono percorsi e valori di configurazione, siti web, store, visualizzazioni store e temi.
Dopo aver importato siti Web, store, visualizzazioni di store e temi, puoi creare attributi di prodotto e applicarli a siti Web, store e visualizzazioni di store nel sistema di produzione.
bin/magento app:config:import
non elabora la configurazione archiviata nelle variabili di ambiente.Importa, comando
Nel sistema di produzione eseguire il comando seguente per importare i dati dai file di configurazione (config.php
e env.php
) al database:
bin/magento app:config:import [-n, --no-interaction]
Utilizza il flag opzionale [-n, --no-interaction]
per importare i dati senza alcuna interazione.
Se immetti bin/magento app:config:import
senza il flag opzionale, dovrai confermare le modifiche.
Ad esempio, se il file di configurazione contiene un nuovo sito Web e un nuovo archivio, viene visualizzato il seguente messaggio:
These Websites will be created: New Website
These Groups will be created: New Store
Do you want to continue [yes/no]?
Per continuare l'importazione, immettere yes
.
Se i file di configurazione della distribuzione contengono alcuni dati da importare, viene visualizzato un messaggio simile al seguente:
Start import:
Some information about importing
Se i file di configurazione della distribuzione non contengono dati da importare, viene visualizzato un messaggio simile al seguente:
Start import:
Nothing to import
Cosa importiamo
Nelle sezioni seguenti vengono descritti in dettaglio i dati importati.
Configurazione del sistema
Commerce utilizza direttamente i valori nell'array system
nei file config.php
o env.php
anziché importarli nel database perché richiedono alcune azioni di pre e post-elaborazione.
Ad esempio, il valore del percorso di configurazione web/secure/base_url
deve essere convalidato con modelli di back-end.
Modelli di back-end
I modelli di back-end sono il meccanismo per l'elaborazione delle modifiche nella configurazione del sistema.
I moduli back-end vengono definiti in <module_name>/adminhtml/system.xml
.
Tutti i modelli di back-end devono estendere la classe Magento\Framework\App\Config\Value
.
Quando si importano modelli di back-end, i valori di configurazione non vengono salvati.
Configurazione di siti Web, store e gruppi di store
Importiamo i seguenti tipi di configurazioni.
Queste configurazioni si trovano nell'array scopes
in config.php
.
websites
: configurazione correlata a siti Webgroups
: la configurazione correlata agli archivistores
: configurazione correlata visualizzazioni archivio
Le configurazioni precedenti possono essere importate nelle seguenti modalità :
create
:config.php
contiene nuove entità (websites
,groups
,stores
) assenti nell'ambiente di produzioneupdate
:config.php
contiene entità (websites
,groups
,stores
) diverse dall'ambiente di produzionedelete
:config.php
non contiene entità (websites
,groups
,stores
) presenti nell'ambiente di produzione
Configurazione tema
La configurazione dei temi include tutti i temi registrati nel sistema Commerce. I dati provengono direttamente dalla tabella del database theme
. La configurazione del tema si trova nell'array themes
in config.php
.
Struttura dei dati relativi al tema
La chiave dell'array è il percorso del tema completo: area
+ theme path
Ad esempio, frontend/Magento/luma
.frontend
è area e Magento/luma
è percorso tema.
Il valore dell’array è dato dal tema: codice, titolo, percorso, ID principale
Esempio completo:
'frontend/Magento/luma' =>
array (
'parent_id' => 'Magento/blank',
'theme_path' => 'Magento/luma',
'theme_title' => 'Magento Luma',
'is_featured' => '0',
'area' => 'frontend',
'type' => '0',
'code' => 'Magento/luma',
),
- Registrazione tema. Se i dati di un tema sono definiti in
config.php
ma il codice sorgente del tema non è presente nel file system, il tema verrà ignorato, ovvero non registrato. - Rimozione tema. Se un tema non è presente in
config.php
ma il codice sorgente è presente nel file system, il tema non viene rimosso.