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 et les Framework Php comme Symfony.
Cet article vous a aidé?
Aucun vote pour le moment
Partagez cet article
Articles sur le même sujet
Ajouter un champ custom à l'entité User dans un module custom en Drupal 8Comment ajouter un champ custom à l'entité User de Drupal 8? Voici un petit tuto pour étendre les utilisateurs dans un module custom.
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!