Aller au contenu principal


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.

Billet créé le :
21 nov 2020

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.

Cliquer pour agrandir l'image

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).

Cliquer pour agrandir l'image

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")

information complémentaire disponible en cliquant ici

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.

Cliquer pour agrandir l'image

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 ;

     

information complémentaire disponible en cliquant ici

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".

Cliquer pour agrandir l'iamge

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".

information complémentaire disponible en cliquant ici

Une solution moins radicale que la suppression irréversible du champ "body", consiste à faire glisser ce champ dans la zone "Désactivé(e)s" de l'onglet "Gérer l'affichage du formulaire".
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 :=) ).