Définir les valeurs de configuration
Cette rubrique présente les commandes de configuration avancées que vous pouvez utiliser pour :
- Définissez une option de configuration à partir de la ligne de commande
- Verrouillez éventuellement toute option de configuration afin que sa valeur ne puisse pas être modifiée dans l’administrateur
- Modifier une option de configuration verrouillée dans l’administrateur
Vous pouvez utiliser ces commandes pour définir la configuration Commerce manuellement ou à l’aide de scripts. Vous définissez les options de configuration à l’aide d’un chemin de configuration, qui est une chaîne délimitée par des /
qui identifie de manière unique cette option de configuration. Les chemins de configuration sont répertoriés dans les références suivantes :
Vous pouvez définir des valeurs aux heures suivantes :
-
Avant d’installer Commerce, vous pouvez définir des valeurs de configuration pour l’étendue par défaut uniquement, car il s’agit de la seule étendue valide.
-
Après avoir installé Commerce, vous pouvez définir des valeurs de configuration pour n’importe quel site web ou étendue d’affichage de magasin.
Utilisez les commandes suivantes :
bin/magento config:set
définit toute valeur de configuration non sensible en fonction de son chemin de configurationbin/magento config:sensitive:set
définit toute valeur de configuration sensible en fonction de son chemin de configurationbin/magento config:show
affiche les valeurs de configuration enregistrées ; les valeurs des paramètres chiffrés sont affichées sous 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 l’étendue par défaut, vous n’avez rien à faire.
Rechercher le chemin de configuration
Voir les références suivantes :
Rechercher le code de l’étendue
Le code de l’étendue se trouve dans la base de données Commerce ou dans Commerce Admin.
Pour trouver le code d’étendue dans Admin :
-
Connectez-vous à l’administrateur en tant qu’utilisateur autorisé à afficher des sites web et à stocker des vues.
-
Cliquez sur Stores > Paramètres > All Stores.
-
Dans le volet de droite, cliquez sur le nom du site web ou de l’affichage du magasin pour afficher son code.
La figure suivante présente un exemple de code de site web.
-
Continuez avec Définir les valeurs.
Pour trouver le code d'étendue 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 tableaux 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 les 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 la 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 à Admin ou 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, consultez l’une des sections suivantes :
Définir des valeurs de configuration qui peuvent être modifiées dans l’administration
Utilisez bin/magento config:set
without --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’Administration.
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 de la vue de magasin test
:
bin/magento config:set --scope=stores --scope-code=test web/unsecure/base_url http://example3.com/
Définir des valeurs de configuration qui ne peuvent pas être modifiées dans l’administration
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 permettant de modifier cette valeur dans Admin.
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 une image mémoire de base de données d’un autre système et remplacer le base_url
et d’autres valeurs 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 l’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 y utiliser les mêmes valeurs de configuration. 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
où
--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 d’étendue de la configuration (code de site web ou code d’affichage du magasin)path
est le chemin de configuration au format first_part/second_part/third_part/etc (obligatoire)
bin/magento config:show
affiche les valeurs de toutes les valeurs chiffréessous 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 site web base
:
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 site web base
:
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 magasin de default
:
bin/magento config:show --scope=stores --scope-code=default web/unsecure/base_url
Résultat :
web/unsecure/base_url - http://example-for-store.com/