Anthony HERVÉ

Ingénieur édudes et développement

Drupal 8 - Créer un module

12/12/2016
Image actualité

Une fois Drupal 8 (un peu) pris en main, il y a très rapidement besoin de créer un module "custom" pour y mettre nos blocks, nos plugins, nos routes...

Voici la marche à suivre pour créer un module

La méthode manuelle

Je vais créer un module nommé "monmodule" pour ce premier exemple. Ci-dessous les actions à suivre pour créer un module.

  1.  Créer un dossier custom dans le dossier modules de votre site : c'est une convention pour les modules personnels mais vous pouvez très bien l'appeler comme vous voulez ou ne pas créer ce dossier.
  2. Créer un dossier monmodule, soit directement dans le dossier modules si vous n'avez pas fait l'étape 1, soit dans le dossier créé à l'étape 1.
  3. Créer un fichier monmodule.info.yml dans le dossier monmodule.

Dans ce fichier, entrez les informations suivantes :

name: monmodule
type: module
description: Mon Module
core: 8.x
package: Custom

Ce fichier est assez basique et je pense que vous le comprenez très bien. Le package est le groupe dans lequel votre module va être listé dans l'administration de Drupal.

La méthode avec la CLI Drupal

Il vous faut tout d'abord installer la ligne de commande : https://www.drupal.org/project/console.

Dans le répertoire principal de votre projet, taper la commande suivante :

drupal list

Et là, vous avez une loooooongue liste de commandes qui peuvent s'avérer très pratique. Je vous en mets un petit bout.

Si vous êtes observateur, vous verrez sur l'image ci-dessous la commande generate:module. Ca tombe bien, c'est exactement ce que l'on veut ! Testons-la tout de suite.

drupal generate:module

La commande va vous poser quelques questions (voir image ci-dessous) et votre module va ainsi être généré très rapidement.

Par défaut, la commande génère 2 fichiers :

  • mymodule.info.yml : seul fichier obligatoire pour un module
  • composer.json : gestion des dépendances liées au module

J'ai demandé à ajouté le fichier .module qui sert notamment à ajouter des hooks à notre module, mais cela n'est pas obligatoire.

 

Si vous vous rendez maintenant dans le menu Extend ou Extension dans l'administration de votre site, vous verrez apparaître vos deux nouveaux modules que vous pouvez installer comme n'importe quel autre module.

Certes, vos modules ne servent pas à grand chose pour le moment, mais chaque chose dans son temps. :-)

cli

Commentaires