hook_help() : créer une page d'aide pour un module en Drupal 8

  • | Développement
hook_help sur Drupal 8

Pour développer de bons modules pérennes, il est important d'avoir des informations ou de la documentation sur le fonctionnement du module ou son installation. Pour enregistrer ces informations on implémente le hook_help(). Voyons comment on crée une page d'aide pour un module en Drupal 8. 

On part du principe qu'on crée un module qui s'appelle "mon_module".

A la racine du répertoire du module, dans le fichier "mon_module.module" on ajoute le hook_help() :

<?php

  use Drupal\Core\Routing\RouteMatchInterface;

  /** 
   * Implements hook_help()
   */
  function mon_module_help($route_name, RouteMatchInterface $route_match) {
    switch($route_name) {
      case 'help.page.mon_module':
        $output = '';
        $output .= '<h3>'. t('About') .'</h3>';
        $output .= '<p>'. t('Ce module permet :') .'</p>';
        $output .= '<ul>';
        $output .= '<li>'. t('- de faire cela') .'</li>';
        $output .= '<li>'. t('- mais aussi d\'ajouter cette fonctionnalité') .'</li>';
        $output .= '<li>'. t('- et celle ci') .'</li>';
        $output .= '</ul>';
        $output .= '<p>'. t('Le lorem ipsum est, en imprimerie, une suite de mots sans signification utilisée à titre provisoire 
        pour calibrer une mise en page, le texte définitif venant remplacer le faux-texte dès qu\'il est prêt ou que la mise en 
        page est achevée. Généralement, on utilise un texte en faux latin, le Lorem ipsum ou Lipsum.') .'</p>';

        return $output;

      default: 
    }
  }

 

Une fois le module "mon_module" installé on obtient le lien "Aide" dans la description du module :

Hook_help() dans le menu extension

et si on clique sur ce lien on tombe sur notre page d'aide : 

Page d'aide d'un module en Drupal 8 : le résultat du hook_help()

 

 

L'auteur de cet article
Julien Krier
Responsable Digital, ayant occupé différents postes en informatique depuis 2001, Julien Krier a travaillé sur de multiples plateformes, sites de contenu ou e-commerce à fort trafic. Il est spécialisé dans les technologies web sur les CMS comme Drupal 7 ou Drupal 8 et les Framework Php comme Symfony 5.
Cet article vous a aidé?
Aucun vote pour le moment
Partagez cet article
Articles sur le même sujet
Patcher un module de DrupalIl peut arriver que sur une mise à jour par exemple on se retrouve avec un bug sur un module. Des patchs peuvent alors corriger le problème.
Comment créer un service dans Drupal 8Quand on développe sur Drupal 8, on passe quasiment obligatoirement par la case service. Qu'est ce qu'un service et comment le configurer? C'est par ici!
Comment ajouter des logs dans Drupal 8Une chose important quand on code un module sur Drupal, c'est de loguer les erreurs, les informations, pour débugger facilement. Voici la commande pour loguer des informations dans le dblog de Drupal 8.