Créer un module et l'activer à la main dans Drupal

Drupal 8

Créer un module et l'activer à la main dans Drupal

Soumis par Antoine le mar 17/03/2020 - 16:02

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 :

https://groups.drupal.org/node/97054

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

dependencies:
  - drupal:link
  - drupal:views
  - paragraphs:paragraphs
  - webform:webform (>=8.x-5.x)

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.

Version