Importer les paramètres de configuration
Lorsque vous configurez un système de production à l’aide de Commerce 2.2 modèle de déploiement de pipeline, vous devez importer les paramètres de configuration de config.php et env.php dans la base de données.
Ces paramètres incluent les chemins et valeurs de configuration, les sites web, les magasins, les vues de magasin et les thèmes.
Après avoir importé des sites web, des boutiques, des vues de boutique et des thèmes, vous pouvez créer des attributs de produit et les appliquer aux sites web, aux boutiques et aux vues de boutique, sur le système d’exploitation.
bin/magento app:config:import ne traite pas la configuration stockée dans les variables d’environnement.Commande d'import
Sur votre système d’exploitation, exécutez la commande suivante pour importer les données des fichiers de configuration (config.php et env.php) dans la base de données :
bin/magento app:config:import [-n, --no-interaction]
Utilisez l’indicateur de [-n, --no-interaction] facultatif pour importer des données sans interaction.
Si vous saisissez bin/magento app:config:import sans l’indicateur facultatif, vous devez confirmer les modifications.
Par exemple, si le fichier de configuration contient un nouveau site web et un nouveau magasin, le message suivant s’affiche :
These Websites will be created: New Website
These Groups will be created: New Store
Do you want to continue [yes/no]?
Pour poursuivre l’importation, saisissez yes.
Si les fichiers de configuration de déploiement contiennent des données à importer, un message similaire au suivant s’affiche :
Start import:
Some information about importing
Si les fichiers de configuration de déploiement ne contiennent aucune donnée à importer, un message similaire au suivant s’affiche :
Start import:
Nothing to import
Ce que nous importons
Les sections suivantes décrivent en détail les données que nous importons.
Configuration du système
Commerce utilise directement les valeurs du tableau system dans les fichiers config.php ou env.php au lieu de les importer dans la base de données, car elles nécessitent des actions de pré-traitement et de post-traitement.
Par exemple, la valeur du chemin de configuration web/secure/base_url doit être validée avec les modèles principaux.
Modèles principaux
Les modèles principaux constituent le mécanisme de traitement des modifications apportées à la configuration du système.
Vous définissez les modules principaux dans <module_name>/adminhtml/system.xml.
Tous les modèles principaux doivent étendre la classe Magento\Framework\App\Config\Value.
Lorsque nous importons des modèles principaux, nous n’enregistrons pas les valeurs de configuration.
Configuration des sites web, des magasins et des groupes de magasins
Nous importons les types de configurations suivants.
(Ces configurations se trouvent sous le tableau scopes dans config.php.)
websites: configuration liée aux sites webgroups: stocke la configuration associéestores: configuration liée aux vues du magasin
Les configurations précédentes peuvent être importées dans les modes suivants :
create:config.phpcontient de nouvelles entités (websites,groups,stores) qui sont absentes de l’environnement de productionupdate:config.phpcontient des entités (websites,groups,stores) différentes de l’environnement de productiondelete:config.phpne contient pas d’entités (websites,groups,stores) présentes dans l’environnement de production
Configuration du thème
La configuration des thèmes inclut tous les thèmes enregistrés dans votre système Commerce ; les données proviennent directement du tableau de la base de données theme. (La configuration du thème se trouve dans le tableau themes dans config.php.)
Structure des données de thème
La clé du tableau est le chemin d’accès complet au thème : area + theme path
Par exemple, frontend/Magento/luma.frontend est une zone et Magento/luma est un chemin d’accès au thème.
La valeur du tableau représente les données sur le thème : code, titre, chemin, ID parent
Exemple complet :
'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',
),
- Enregistrement du thème. Si des données de thème sont définies dans
config.phpmais que le code source du thème n’est pas présent dans le système de fichiers, le thème est ignoré (c’est-à-dire qu’il n’est pas enregistré). - Suppression du thème. Si un thème n’est pas présent dans
config.phpmais que le code source est présent sur le système de fichiers, le thème n’est pas supprimé.