L'objectif de ce tuto Drupal est de vous montrer comment créer un squelette de module à la main.
La procédure
Vous devez commencer par choisir le nom machine de votre module qui doit être unique en minuscule et ne pas contenir d’espace. Afin de vous assurer que ce nom est unique rendez-vous à l’adresse https://drupal.org/project/le_nom_choisi pour vérifier qu’il n’a pas été pris
Dans la suite de ce tuto Drupal nous allons choisir le nom machine premiermo
Créer un répertoire « premiermo » dans le répertoire modules/custom/.
Créer un fichier premiermo.info.yml dans ce répertoire. Il va contenir les informations qui décrivent votre module.
Ajouter les lignes suivantes :
name: Mon premier Module
type: module
description: Mon premier module qui déchire
package: Custom
core: 8.x
core_version_requirement: ^8 || ^9
Sauvegarder, puis vider le cache avec « drush cr » puis activer votre module avec « drush en premiermo »
Explications sur les clés du fichier *.info.yml d'un module
Ce fichier donner des informations à Drupal sur votre module. Comme c'est un fichier yaml, il faut penser à vider le cache après chaque modification.
Clés |
Obligatoire ? |
Description |
name |
Oui |
Indique le nom du module que les humains utiliseront. |
type |
Oui |
Peut prendre la valeur theme ou module. |
description |
Non
|
La description qui sera affichée à côté du nom du module |
Package |
|
Permet d’indiquer un nom sous lequel les modules qui utilisent le même package seront regroupé dans la page Extension de l’administration. Si vous utilisez un package existant comme Core ou SEO vous risquez d’avoir du mal à retrouver votre module. Ici j’ai mis Custom mais j’aurais pu mettre Tada ! Cette page (non officielle) tente de lister les packages existants : |
core |
Oui |
Indique la version de Drupal nécessaire pour faire fonctionner le module |
version |
Non
|
Permet d’indiquer le numéro de version du module |
dependencies |
Non
|
Liste les modules qui doivent être installés pour pouvoir activer le module. Exemples
Les modules seront indiqué sous la forme {projet} :{module} avec {projet} qui correspond au nom du projet tel qu’il apparait sur Drupal.org, et {module}qui correspond au nom machine du module. Il est possible de rajouter des restrictions de version. |