Gérer ses types de contenu
Le CMS Drupal propose, par défaut, dans "administration - structure" (accessible par la route"/admin/structure/types") les types de contenu "article" et "page de base".
Lorsque le module "book", qui appartient au du cœur de Drupal et qui permet d'organiser ses contenus dans une structure hiérarchique, est activé, un 3ème type apparait : "book page".
Cet article présente les étapes à suivre pour la création d'un nouveau type de contenu.
Avec la version 7 de Drupal (D7), j'avais l'habitude d'utiliser le module "panel" pour la mise en page de mes billets. Depuis D8, ce module est intégré au cœur de Drupal sous l'appellation "layout builder". Je l'utilise donc naturellement pour créer mes types de contenu personnel.
Pour la lisibilité de l'article, je nommerai "billet", ce nouveau type de contenu que je souhaite créer.
Pour cela, il faut cliquer sur le bouton "ajouter un type de contenu" pour afficher le formulaire présenté ci-dessous.
Complétez au minimum les champs obligatoires du formulaire :
le "nom" de votre nouveau type de contenu : j'ai indiqué "billet" (cf. image ci-dessus) ;
le "libellé du champ titre" dans l'onglet "paramètres du formulaire de contribution" : j'ai indiqué "titre" (cf image ci-dessous).
Cliquez sur le bouton "enregistrer et gérer les champs".
Notons que le CMS Drupal associe un nom système (ou interne ou machine) à chaque type de contenu. Ici, Drupal propose le nom "billet" comme nom système. Drupal l'utilise par exemple pour construire les noms :
du fichier du gabarit (template) à utiliser pour une mise en page spécifique à ce type de contenu ; ici : "node--billet.html.twig" (voir sur ce thème, le billet "les gabarits")
de la classe CSS à utiliser pour appliquer un style propre à ce type de contenu : ici : ".node--type-billet" (voir sur ce thème le billet "un style par type de contenu")
Remarque : dans l'onglet "paramètres du formulaire de contribution", je préfère dans la zone "aperçu avant soumission", choisir l'option "facultatif" plutôt que "requis" (cf image ci-contre).
En effet, la plupart de mes types de contenu n'ayant pas de "corps" (body) dans leur définition, cela troublerait l'utilisateur de ne pas avoir accès au bouton "Enregistrer" lorsqu'il crée un nouveau contenu.
Le clic sur le bouton "enregistrer et gérer les champs" ouvre la page illustrée ci-dessous.
Cette page permet d'adapter votre type de contenu à vos besoins :
gestion des champs (ajout - suppression -modification) dans l'onglet "gérer les champs" ;
gestion du formulaire de saisie des contenus de votre type de contenu dans les onglets "gérer l'affichage du formulaire" et gérer l'affichage ;
Lorsque j'utilisai la version d8.7, la suppression du champ "body" (à partir de l'onglet "gérer les champs", supprimez le champ "body" de la liste déroulante du bouton "modifier/supprimer") conduisait à une erreur lorsque l'on utilisait le module "content moderation" sur un type de contenu sans ce champ "body".
Dans l'onglet "gérer l'affichage", cochez la case "utiliser layout builder" des "options de mise en page".
Puis cochez la case " Autoriser chaque élément de contenu à avoir sa mise en page personnalisée" qui apparaitra (cela autorise chaque billet à avoir sa propre mise en page).
Cliquez enfin sur le bouton "Enregistrer".
Personnellement, je renomme le champ "body" en "A noter :" pour utiliser, le cas échéant, ce bloc comme un résumé situé en bas de certaines de mes pages (comme c'est le cas pour cette page :=) ).
Vous disposez maintenant du nouveau type de contenu "billet". Voir les billets suivants :