Impostare i valori di configurazione
In questo argomento vengono descritti i comandi di configurazione avanzati che è possibile utilizzare per:
- Imposta qualsiasi opzione di configurazione dalla riga di comando
- Facoltativamente, blocca qualsiasi opzione di configurazione in modo che il suo valore non possa essere modificato in Admin
- Modificare un’opzione di configurazione bloccata in Admin
È possibile utilizzare questi comandi per impostare la configurazione di Commerce manualmente o utilizzando gli script. Le opzioni di configurazione vengono impostate utilizzando un percorso di configurazione, ovvero una stringa delimitata da /
che identifica in modo univoco tale opzione di configurazione. Puoi trovare i percorsi di configurazione nei seguenti riferimenti:
È possibile impostare i valori nei seguenti momenti:
-
Prima di installare Commerce, è possibile impostare i valori di configurazione solo per l'ambito predefinito, in quanto è l'unico ambito valido.
-
Dopo aver installato Commerce, è possibile impostare i valori di configurazione per qualsiasi ambito di visualizzazione del sito Web o dell'archivio.
Utilizza i seguenti comandi:
bin/magento config:set
imposta qualsiasi valore di configurazione non sensibile in base al relativo percorso di configurazionebin/magento config:sensitive:set
imposta qualsiasi valore di configurazione sensibile in base al relativo percorso di configurazionebin/magento config:show
mostra i valori di configurazione salvati; i valori delle impostazioni crittografate vengono visualizzati come asterischi
Prerequisiti
Per impostare un valore di configurazione, è necessario conoscere almeno uno dei seguenti elementi:
-
Percorso di configurazione
-
Per impostare un valore di configurazione per un determinato ambito, è necessario conoscere il codice dell'ambito.
Per impostare un valore di configurazione per l'ambito predefinito, non è necessario eseguire alcuna operazione.
Trova il percorso di configurazione
Consulta i seguenti riferimenti:
Trovare il codice ambito
Puoi trovare il codice ambito nel database di Commerce o nell’amministratore di Commerce.
Per trovare il codice di ambito nell'amministratore:
-
Accedi all’amministratore come utente che può visualizzare siti web e archiviare visualizzazioni.
-
Fare clic su Stores > Impostazioni > All Stores.
-
Nel riquadro di destra fare clic sul nome della visualizzazione del sito Web o della visualizzazione dello store per visualizzarne il codice.
Nella figura seguente viene illustrato un esempio di codice di un sito Web.
-
Continua con Imposta valori.
Per trovare il codice di ambito nel database:
I codici di ambito per i siti Web e le visualizzazioni degli archivi vengono archiviati nel database di Commerce rispettivamente nelle tabelle store_website
e store
.
-
Connettersi al database di Commerce.
code language-bash mysql -u <Commerce database username> -p
-
Immettete i seguenti comandi:
code language-shell use <Commerce database name>;
code language-shell SELECT * FROM store;
code language-shell SELECT * FROM store_website;
Di seguito è riportato un esempio di risultato:
code language-none [mysql]> SELECT * FROM store_website; +------------+-------+--------------+------------+------------------+------------+ | website_id | code | name | sort_order | default_group_id | is_default | +------------+-------+--------------+------------+------------------+------------+ | 0 | admin | Admin | 0 | 0 | 0 | | 1 | base | Main Website | 0 | 1 | 1 | | 2 | test1 | Test Website | 0 | 3 | 0 | +------------+-------+--------------+------------+------------------+------------+
Utilizzare il valore nella colonna
code
. -
Procedi alla sezione successiva.
Imposta valori
Per impostare i valori di configurazione specifici del sistema:
bin/magento config:set [--scope="..."] [--scope-code="..."] [-le | --lock-env] [-lc | --lock-config] path value
Per impostare i valori di configurazione sensibili:
bin/magento config:sensitive:set [--scope="..."] [--scope-code="..."] path value
Nella tabella seguente sono descritti i parametri del comando set
:
--scope
default
, website
o store
. Il valore predefinito è default
.--scope-code
-e or --lock-env
<Commerce base dir>/app/etc/env.php
.-c or --lock-config
<Commerce base dir>/app/etc/config.php
. L'opzione --lock-config
sovrascrive --lock-env
se si specificano entrambe le opzioni.path
value
--lock-env
e --lock-config
sostituiscono l'opzione --lock
.--lock-env
o --lock-config
per impostare o modificare un valore, è necessario utilizzare il comando bin/magento app:config:import
per importare l'impostazione prima di accedere all'Admin o alla vetrina.Se si immette un percorso di configurazione errato, questo comando restituirà un errore
The "wrong/config/path" does not exist
Per ulteriori informazioni, consulta una delle sezioni seguenti:
Imposta i valori di configurazione che possono essere modificati in Admin
Utilizzare bin/magento config:set
senza --lock-env
o --lock-config
per scrivere il valore nel database. I valori impostati in questo modo possono essere modificati in Admin.
Di seguito sono riportati alcuni esempi per l’impostazione di un URL di base dello store:
Impostare l'URL di base per l'ambito predefinito:
bin/magento config:set web/unsecure/base_url http://example.com/
Impostare l'URL di base per il sito Web base
:
bin/magento config:set --scope=websites --scope-code=base web/unsecure/base_url http://example2.com/
Impostare l'URL di base per la visualizzazione archivio test
:
bin/magento config:set --scope=stores --scope-code=test web/unsecure/base_url http://example3.com/
Imposta i valori di configurazione che non possono essere modificati in Admin
Se si utilizza l'opzione --lock-env
come indicato di seguito, il comando salva il valore di configurazione in <Commerce base dir>/app/etc/env.php
e disabilita il campo per la modifica di questo valore in Admin.
bin/magento config:set --lock-env --scope=stores --scope-code=default web/unsecure/base_url http://example3.com
È possibile utilizzare l'opzione --lock-env
per impostare i valori di configurazione se Commerce non è installato. Tuttavia, è possibile impostare valori solo per l'ambito predefinito.
env.php
è specifico del sistema. Non è consigliabile trasferirla in un altro sistema. Puoi utilizzarlo per sovrascrivere i valori di configurazione dal database. È possibile, ad esempio, acquisire un dump del database da un altro sistema e sovrascrivere base_url
e altri valori in modo da non dover modificare il database.Se si utilizza l'opzione --lock-config
come segue, il valore di configurazione viene salvato in <Commerce base dir>/app/etc/config.php
. Il campo per la modifica di questo valore in Amministrazione è disabilitato.
bin/magento config:set --lock-config --scope=stores --scope-code=default web/url/use_store 1
È possibile utilizzare --lock-config
per impostare i valori di configurazione se Commerce non è installato. Tuttavia, è possibile impostare valori solo per l'ambito predefinito.
config.php
a un altro sistema per utilizzare gli stessi valori di configurazione. Ad esempio, se si dispone di un sistema di test, l'utilizzo dello stesso config.php
significa che non è necessario impostare nuovamente gli stessi valori di configurazione.Visualizza il valore delle impostazioni di configurazione
Opzioni comando:
bin/magento config:show [--scope[="..."]] [--scope-code[="..."]] path
dove
--scope
è l'ambito della configurazione (predefinito, sito Web, archivio). Il valore predefinito èdefault
--scope-code
è il codice ambito della configurazione (codice sito Web o codice visualizzazione archivio)path
è il percorso di configurazione in formato first_part/second_part/third_part/etc (required)
bin/magento config:show
visualizza i valori di qualsiasi valore crittografato come una serie di asterischi: ******
.Esempi
Per visualizzare tutte le configurazioni salvate:
bin/magento config:show
Risultato:
web/unsecure/base_url - http://example.com/
general/region/display_all - 1
general/region/state_required - AT,BR,CA,CH,EE,ES,FI,LT,LV,RO,US
catalog/category/root_id - 2
analytics/subscription/enabled - 1
Per visualizzare tutte le configurazioni salvate per il sito Web base
:
bin/magento config:show --scope=websites --scope-code=base
Risultato:
web/unsecure/base_url - http://example-for-website.com/
general/region/state_required - AT,BR,CA
Per visualizzare l'URL di base per l'ambito predefinito:
bin/magento config:show web/unsecure/base_url
Risultato:
web/unsecure/base_url - http://example.com/
Per visualizzare l'URL di base per il sito Web base
:
bin/magento config:show --scope=websites --scope-code=base web/unsecure/base_url
Risultato:
web/unsecure/base_url - http://example-for-website.com/
Per visualizzare l'URL di base per l'archivio default
:
bin/magento config:show --scope=stores --scope-code=default web/unsecure/base_url
Risultato:
web/unsecure/base_url - http://example-for-store.com/