Inclure la configuration par défaut dans votre module Drupal 8
Sujet principal : configuration par défaut
Aperçu
Dans Drupal 7, la configuration par défaut pour des modules tels que les types de contenu, la configuration des champs, les vues, etc., nécessitait un code PHP spécifique pour l’installation et la mise à jour. Dans Drupal 8, elles sont stockées avec le système de configuration dans des fichiers texte YAML.
Par exemple, le système de gestion de la configuration s’occupe de créer et gérer les types de contenu. Vous pouvez fournir un type de contenu avec votre module en créant un fichier de configuration avec le nom et la structure appropriés.
Exemple
Créez un fichier nommé node.type.example_mytype.yml et placez-le dans le répertoire de votre module sous config/install. Par exemple, ce fichier peut se trouver dans /modules/example/config/install/node.type.example_mytype.yml si le module est situé dans /modules/example.
Merci de respecter la convention de nommage où vous placez le préfixe de votre type de contenu avant le nom de votre module, suivi d’un underscore, afin d’éviter les conflits avec d’autres fichiers de configuration.
Ensuite, vous pouvez mettre le code suivant dans ce fichier :
type: example_mytype name: Example description: 'Utilisez le contenu <em>example</em> pour mieux découvrir le développement Drupal 8.' help: '' new_revision: false display_submitted: true preview_mode: 1 status: true langcode: en
Voir node.type.article.yml pour un exemple concret.
Vous pouvez inclure la configuration par défaut pour d’autres éléments, tels que le placement des blocs, les vues, les formats de texte, la configuration de l’éditeur, les rôles utilisateur, etc., de la même manière.
Vous pouvez définir des valeurs par défaut pour les champs de formulaire, comme l’auteur d’un nœud.
Si vous avez installé le module avant d’ajouter ce type de contenu, vous devrez le désinstaller puis le réinstaller pour que la configuration soit prise en compte.
Export de la configuration
Vous pouvez créer ces fichiers en exportant la configuration via Configuration > Développement > Synchronisation de la configuration. Vous pouvez utiliser la fonction « Import/export unique » pour exporter un fragment de configuration unique, ce qui vous fournit une zone de texte contenant le code à copier/coller dans un fichier de configuration. Ou vous pouvez effectuer un « Export complet », qui vous permet de télécharger un fichier tar.gz contenant tous les fichiers de configuration dans un dossier unique.
Lorsque vous utilisez une configuration exportée, il est important de supprimer le UUID de la configuration. Chaque fragment de configuration est identifié de manière unique par cet identifiant. Si vous incluez ce UUID dans votre module, il sera identique sur tous les sites utilisant votre module, ce qui supprime son unicité. En supprimant simplement cette ligne de la configuration, Drupal générera de nouveaux UUID lors de l’activation du module, garantissant l’unicité.
uuid: 626187e6-2176-4a73-8900-c0912580e4a1 << Supprimez ceci ! langcode: en status: true
Console Drupal
L’utilitaire Drupal Console fournit la commande suivante :
Elle réalise les tâches suivantes :
- Exporter tous les fichiers de configuration liés au type de contenu spécifié (y compris ses fichiers de configuration de champ).
- Les placer dans le répertoire de configuration du module souhaité.
Cela vous fait donc gagner beaucoup de travail comparé au processus manuel décrit ci-dessus.