Définition des valeurs de configuration
Cette rubrique décrit les commandes de configuration avancées que vous pouvez utiliser pour :
- Définissez toute option de configuration à partir de la ligne de commande.
- Vous pouvez éventuellement verrouiller toute option de configuration de sorte que sa valeur ne puisse pas être modifiée dans l’administrateur.
- Modification d’une option de configuration verrouillée dans l’Admin
Vous pouvez utiliser ces commandes pour définir la configuration de Commerce manuellement ou à l’aide de scripts. Vous définissez des options de configuration à l’aide d’un chemin de configuration, qui est une chaîne délimitée par /
qui identifie de manière unique cette option de configuration. Vous trouverez des chemins de configuration dans les références suivantes :
Vous pouvez définir des valeurs aux moments suivants :
-
Avant d’installer Commerce, vous pouvez définir des valeurs de configuration pour la portée par défaut uniquement, car il s’agit de la seule portée valide.
-
Après avoir installé Commerce, vous pouvez définir des valeurs de configuration pour n’importe quel site web ou stocker la portée de la vue.
Utilisez les commandes suivantes :
bin/magento config:set
définit toute valeur de configuration non sensible en fonction de son chemin de configuration.bin/magento config:sensitive:set
définit toute valeur de configuration sensible en fonction de son chemin de configurationbin/magento config:show
affiche des valeurs de configuration enregistrées ; les valeurs des paramètres chiffrés sont affichées sous la forme d’astérisques.
Conditions préalables
Pour définir une valeur de configuration, vous devez connaître au moins l’un des éléments suivants :
-
Chemin de configuration
-
Pour définir une valeur de configuration pour une portée particulière, vous devez connaître le code de portée.
Pour définir une valeur de configuration pour la portée par défaut, il n’est pas nécessaire de faire quoi que ce soit.
Recherche du chemin de configuration
Voir les références suivantes :
Recherche du code d’étendue
Vous pouvez trouver le code de portée dans la base de données Commerce ou dans l’administrateur Commerce.
Pour trouver le code de portée dans l’Admin :
-
Connectez-vous à l’administrateur en tant qu’utilisateur capable d’afficher des sites web et de stocker les vues.
-
Cliquez sur Stores > Paramètres > All Stores.
-
Dans le volet de droite, cliquez sur le nom du site web ou de la vue de magasin pour afficher son code.
La figure suivante illustre un exemple de code de site web.
-
Passez à Définir des valeurs.
Pour trouver le code de portée dans la base de données :
Les codes d’étendue pour les sites web et les vues de magasin sont stockés dans la base de données Commerce dans les tables store_website
et store
, respectivement.
-
Connectez-vous à la base de données Commerce.
code language-bash mysql -u <Commerce database username> -p
-
Saisissez les commandes suivantes :
code language-shell use <Commerce database name>;
code language-shell SELECT * FROM store;
code language-shell SELECT * FROM store_website;
Voici un exemple de résultat :
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 | +------------+-------+--------------+------------+------------------+------------+
Utilisez la valeur de la colonne
code
. -
Passez à la section suivante.
Définir des valeurs
Pour définir des valeurs de configuration spécifiques au système :
bin/magento config:set [--scope="..."] [--scope-code="..."] [-le | --lock-env] [-lc | --lock-config] path value
Pour définir des valeurs de configuration sensibles :
bin/magento config:sensitive:set [--scope="..."] [--scope-code="..."] path value
Le tableau suivant décrit les paramètres de commande set
:
--scope
default
, website
ou store
. La valeur par défaut est 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’option --lock-config
remplace --lock-env
si vous spécifiez les deux options.path
value
--lock-env
et --lock-config
remplacent l’option --lock
.--lock-env
ou --lock-config
pour définir ou modifier une valeur, vous devez utiliser la commande bin/magento app:config:import
pour importer le paramètre avant d’accéder à l’Admin ou au storefront.Si vous saisissez un chemin de configuration incorrect, cette commande renvoie une erreur.
The "wrong/config/path" does not exist
Pour plus d’informations, reportez-vous à l’une des sections suivantes :
Définition de valeurs de configuration pouvant être modifiées dans l’élément Admin
Utilisez bin/magento config:set
sans --lock-env
ou --lock-config
pour écrire la valeur dans la base de données. Les valeurs définies de cette manière peuvent être modifiées dans l’Admin.
Voici quelques exemples de définition d’une URL de base de magasin :
Définissez l’URL de base de la portée par défaut :
bin/magento config:set web/unsecure/base_url http://example.com/
Définissez l’URL de base du site web base
:
bin/magento config:set --scope=websites --scope-code=base web/unsecure/base_url http://example2.com/
Définissez l’URL de base pour la vue de magasin test
:
bin/magento config:set --scope=stores --scope-code=test web/unsecure/base_url http://example3.com/
Définition des valeurs de configuration qui ne peuvent pas être modifiées dans l’élément Admin
Si vous utilisez l’option --lock-env
comme suit, la commande enregistre la valeur de configuration dans <Commerce base dir>/app/etc/env.php
et désactive le champ pour modifier cette valeur dans l’administrateur.
bin/magento config:set --lock-env --scope=stores --scope-code=default web/unsecure/base_url http://example3.com
Vous pouvez utiliser l’option --lock-env
pour définir des valeurs de configuration si Commerce n’est pas installé. Cependant, vous ne pouvez définir des valeurs que pour la portée par défaut.
env.php
est spécifique au système. Vous ne devez pas le transférer vers un autre système. Vous pouvez l’utiliser pour remplacer les valeurs de configuration de la base de données. Par exemple, vous pouvez prendre un vidage de base de données à partir d’un autre système et remplacer les valeurs base_url
et autres afin de ne pas avoir à modifier la base de données.Si vous utilisez l’option --lock-config
comme suit, la valeur de configuration est enregistrée dans <Commerce base dir>/app/etc/config.php
. Le champ permettant de modifier cette valeur dans Admin est désactivé.
bin/magento config:set --lock-config --scope=stores --scope-code=default web/url/use_store 1
Vous pouvez utiliser --lock-config
pour définir des valeurs de configuration si Commerce n’est pas installé. Cependant, vous ne pouvez définir des valeurs que pour la portée par défaut.
config.php
vers un autre système pour utiliser les mêmes valeurs de configuration à cet endroit. Par exemple, si vous disposez d’un système de test, l’utilisation du même config.php
signifie que vous n’avez pas à définir à nouveau les mêmes valeurs de configuration.Afficher la valeur des paramètres de configuration
Options de commande :
bin/magento config:show [--scope[="..."]] [--scope-code[="..."]] path
where
--scope
est la portée de la configuration (par défaut, site web, magasin). La valeur par défaut estdefault
--scope-code
est le code de portée de la configuration (code du site web ou code de vue de magasin)path
est le chemin de configuration au format first_part/second_part/third_part/etc (requis)
bin/magento config:show
affiche les valeurs de toutes les valeurs chiffrées sous la forme d'une série d'astérisques : ******
.Exemples
Pour afficher toutes les configurations enregistrées :
bin/magento config:show
Résultat :
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
Pour afficher toutes les configurations enregistrées pour le base
site web :
bin/magento config:show --scope=websites --scope-code=base
Résultat :
web/unsecure/base_url - http://example-for-website.com/
general/region/state_required - AT,BR,CA
Pour afficher l’URL de base de la portée par défaut :
bin/magento config:show web/unsecure/base_url
Résultat :
web/unsecure/base_url - http://example.com/
Pour afficher l’URL de base du base
site web :
bin/magento config:show --scope=websites --scope-code=base web/unsecure/base_url
Résultat :
web/unsecure/base_url - http://example-for-website.com/
Pour afficher l’URL de base du default
magasin :
bin/magento config:show --scope=stores --scope-code=default web/unsecure/base_url
Résultat :
web/unsecure/base_url - http://example-for-store.com/