Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

Communiquer votre module à Drupal

Traduction de la page http://drupal.org/node/206756,
publiée le 28 Septembre 2010 sur drupal.org


Sujet principal : dire à Drupal que votre module existe

Hook Drupal décrit : hook_help

Tous les modules doivent avoir un fichier nom_du_module.info qui contient des méta-informations sur le module.

Le format habituel est le suivant :

; $Id$
name = Nom du module
description = Une description sur ce qu'il fait
core = 6.x

Pour cet exemple, le fichier sera nommé onthisdate.info. Sans ce fichier, le module ne sera pas affiché dans la page Administrer » Construction du site » Modules. Pour cet exemple, il pourrait contenir ce qui suit :

; $Id$
name = On this date
description = Un module bloc qui liste des liens vers du contenu comme des billets de blogs ou des discussions de forum crées il y a une semaine.
core = 6.x

Ajoutez le code-source précédent à un fichier nommé onthisdate.info et sauvegardez-le dans le dossier module sites/all/modules/onthisdate.

Note : si vous copiez-collez ce bout de code, veillez à ce qu'il n'y ait pas de retour à la ligne dans la description (désactivez le retour à la ligne auto de votre éditeur de texte pour en être certain). Sinon, le fichier .info ne sera pas analysé correctement.

Détails du fichier Info

name (obligatoire)

Le nom de votre module qui sera affiché. Il doit respecter les normes de mise en majuscules de Drupal 6 : seule la première lettre du premier mot doit être en majuscule («Exemple module», pas «Exemple Module» ni «exemple module»)

name = On this date

description (obligatoire)

Une courte description, de préférence sur une seule ligne, qui dira, sur la page d'administration des modules, ce que fait le module. Souvenez-vous que des descriptions trop longues peuvent causer des difficultés d'utilisation de cette page, aussi soyez le plus concis possible. Ce champ est limité à 255 caractères.

description = Un module bloc qui liste des liens vers du contenu comme des billets de blogs ou des discussions de forum crées il y a une semaine.

Notez que si la description comporte des caractères spéciaux, ils doivent être remplacés par leurs entités HTML. Par exemple, utilisez description = Voici ma "folle@email.com" adresse e-mail au lieu de description = Voici ma "folle@email.com" adresse e-mail.

Si la description comporte des guillemets simples ou des apostrophes vous pouvez simplement mettre la chaîne de caractères dans des doubles guillemets. Par exemple : description = "S'il vous plaît, n'utilisez pas ceci à moins que vous ne sachiez ce que vous faites."

core (obligatoire)

Depuis la version 6.x, le core de Drupal refusera d'activer ou d'exécuter les modules qui ne sont pas explicitement écrits pour la bonne version du core.

Le fichier .info doit indiquer pour quelle version du core Drupal le module ou le thème ont été écrits. Ceci se fait en renseignant le nouvel attribut core du fichier .info:

core = 6.x

Remarque : le script de packaging de drupal.org renseignera automatiquement chaque release node avec cette valeur basée sur la compatibilité avec le core, ainsi les utilisateurs qui téléchargent les distributions packagées depuis drupal.org auront toujours la bonne version. Cependant, pour les sites qui déploient Drupal directement depuis le CVS, cette valeur ajoutée au fichier .info du module est utile également. C'est aussi une bonne façon d'indiquer, aux utilisateurs des modules, à quelle version du core le HEAD du CVS est compatible.

dependencies (facultatif)

Il y a quelques options supplémentaires qui peuvent apparaître dans le fichier .info, l'une d'elles sont les dépendances du module. Si un module requiert l'activation d'un ou plusieurs autres modules, énumérez les noms de fichiers de ces modules avec la syntaxe suivante :

dependencies[] = taxonomy
dependencies[] = comment

Comme cela ne s'applique pas à notre module exemple, nous les avons omises. Si des dépendances sont assignées à un module, Drupal ne permettra pas son activation tant qu'elles ne seront pas satisfaites.

package (facultatif)
Si un module fait partie d'un groupe, la page Administrer » Construction du site » Modules l'affichera avec les autres modules du même groupe. Si aucun groupe n'est attribué, il sera listé dans le groupe Autres. Ne pas assigner de groupe à votre module est tout à fait possible; en règle générale les groupes sont utilisés pour les modules distribués ensemble ou faits pour être utilisés ensemble. Dans le doute, laissez ce champ vide.

package = "le nom de votre groupe, au choix"

Voici quelques suggestions de groupes possibles :

  • Audio
  • Bot
  • CCK
  • Chat
  • E-commerce
  • Event
  • Feed Parser
  • Organic Groups
  • Station
  • Video
  • Views
  • Voting (s'il utilise/a besoin de VotingAPI)

Le fichier utilise le format INI et peut avoir un ; $Id$ pour que le CVS insère les données ID au fichier.

Pour plus d'informations sur le format du fichier INI, voir la documentation PHP.

Aide via le hook

Vous pouvez aussi fournir de l'aide et des informations supplémentaires sur votre module en implémentant la fonction Drupal hook_help(). Étant donné la description du fichier .info qui précède, ce hook est désormais facultatif. Cependant, c'est une bonne idée de l'implémenter.

Pour cela, remplacez hook dans le nom du hook par le nom bref de votre module, et créez une fonction dans le fichier .module avec ce nom.

Par exemple, pour implémenter hook_help() dans notre module exemple, nous créons dans le fichier onthisdate.module une fonction appelée onthisdate_help() :


<?php
function onthisdate_help($path$arg) {

}
?>

Le paramètre $path fournit le contexte de l'aide : à quel endroit de Drupal ou du module se trouve l'utilisateur quand ils accèdent à l'aide. Le traitement conseillé pour cette variable se fait dans une instruction switch. Ce modèle de code est habituel dans les modules Drupal. Voici un court exemple d'implémentation de cette fonction :

<?php

/**
* Display help and module information
* @param path which path of the site we're displaying help
* @param arg array that holds the current path as would be returned from arg() function
* @return help text for the path
*/
function onthisdate_help($path$arg) {
  
$output '';  //declare your output variable
  
switch ($path) {
    case 
"admin/help#onthisdate":
      
$output '<p>'.  t("Displays links to nodes created on this date") .'</p>';
      break;
  }
  return 
$output;
// function onthisdate_help

?>
(notez que la balise PHP fermante ne doit pas figurer dans votre code-source)

Le case de case "admin/help#nom_du_module": est utilisé par le core de Drupal pour linker depuis la page d'aide principale (/admin/help ou ?q=admin/help). le cas échéant, vous fournirez une aide plus conséquente à l'utilisateur en ajoutant plus de texte.

Voir aussi