Drupal : comment créer un module ? Classer les modules par dossiers

Un module peut être une chose assez simple sous Drupal. Nous allons créer un module qui ne fait rien.

Il faut donner un nom à un dossier. Nous allons créer le dossier "first_module". Dans l'arborescence de Drupal, tous les modules se trouvent dans le dossier "modules".

Je vous conseille de séparer vos propres modules dans un sous dossier de "modules". Je crée alors un dossier "mes_modules" dans le dossier modules. Ceci permet aussi lors d'un upgrade de version de conserver ses propres modules.

Dans le dossier "mes_modules" nous allons créer du coup le dossier "first_module". Attention, le nom du dossier est important car il faut mettre le même nom à plusieurs endroits par la suite.

Pour créer un module sous Drupal, il suffit d'avoir deux fichiers.

Dans notre cas, nous allons ajouter ces deux fichiers dans le dossier "fisrt_module".Ces deux fichiers doivent avoir le même nom que le dossier.

Nous allons donc créer un fichier "first_module.info" et "first_module.module". Le fichier "first_module.info" contient les informations sur le module first_module. Le fichier "first_module.module" contient le code PHP du module.

Voilà le code minimum à insérer dans le fichier.info : 

;Ceci est un commentaire de mon premier module
package="Mes Modules"
name = "First Modules"
description = "Mon premier module de test."
project = "first_module"
version = "6.x-1.0"
core = 6.x

 package indique dans quelle catégorie le module doit être affiché.
 name et description seront affichés dans le panneau d'administration des modules.
 project reprend le nom du module (qui est aussi le nom du dossier).
 version indique quant à lui la version du module.
 core prévient Drupal que le module est seulement compatible avec sa version 6.x. Tout autre version de Drupal empêchera le module de s'activer.

Si vous avez besoin d'une dépendance avec un autre module, il faut alors ajouter la clause dependencies = autre_module. Pour ajouter des commentaires, il suffit d'utiliser le symbole ; suivi du texte du commentaire.


Le fichier .module va héberger les hooks que nous souhaitons implémenter avec du code PHP. Pour l'instant, il ne fait rien. Notre fichier sera tout simplement :
 

<?php 
?>

Nous avons maintenant fini notre premier module Drupal.