Démarrer
Référence en anglais sur drupal.org : 12 Août 2009 - 13h46 - http://drupal.org/node/206754
Comme indiqué dans l'introduction, nous utiliserons dans ce tutoriel l'exemple d'un module qui liste des liens vers du contenu tel que des billets de blog ou des discussions de forums récemment créés (plus exactement : créés il y a tout juste une semaine). Cette page du tutoriel expose comment créer le fichier module initial et son dossier.
La première étape dans la création de module consiste à lui choisir un nom bref. Ce nom bref sera utilisé dans tous les fichiers et dans tous les noms de fonctions du module. Il doit donc débuter par une lettre et ne doit contenir, selon les conventions de nommage de Drupal, que des lettres en minuscule et des signes soulignés. pour cet exemple, nous choisirons onthisdate comme nom bref.
Remarque importante : si le nom bref est utilisé à la fois comme nom de fichier du module et comme préfixe de fonction, ce n'est pas seulement pour satisfaire à une simple convention de nommage. Quand vous implémentez des "hooks" Drupal (voir plus loin dans ce tutoriel), Drupal ne reconnaîtra vos fonctions d'implémentation du hook que si leurs noms sont préfixés avec le nom du fichier module .
Le choix du nom bref étant onthisdate étant fait, créez un dossier dans votre installation Drupal : sites/all/modules/onthisdate. Vous aurez peut-être besoin de créer d'abord un dossier sites/all/modules.
Créez ensuite un fichier PHP et sauvegardez-le sous le nom onthisdate.module dans le dossier sites/all/modules/onthisdate. Depuis Drupal 6.x, sites/all/modules est l'endroit où placer les modules qui ne font pas partie du core (et sites/all/themes l'endroit où placer les thèmes qui ne font pas partie du core), les fichiers spécifiques à un site vont dans les dossiers du site. Cela vous permet d'effectuer les mises à jour du core et des modules plus facilement, sans effacer vos personnalisations. Si vous avez une installation multi-site et que votre module n'est destiné qu'à un seul site, vous pouvez le placer dans sites/votre-dossier-du-site/modules.
Les fichiers modules débutent avec la balise d'ouverture PHP immédiatement suivie d'un balise ID CVS placée dans un commentaire inline. La balise ID CVS, $Id$, est un token que le système de contrôle de version de Drupal.org complétera avec des informations de révision et d'auteur. Il vaut mieux prendre l'habitude d'écrire cette balise dans votre module, même si vous ne pensez pas le diffuser sur Drupal.org ou pas. Une balise ID similaire est placée dans tous les autres fichiers associés à votre module.
<?php
// $Id$
?>Cette balise ID n'est pas une syntaxe spéciale du PHP et elle n'est là que pour le système de contrôle de versions. Aussi, elle doit être placée dans une ligne de commentaire. On le répète, cette balise sera automatiquement complétée et vous pouvez désormais l'oublier.
Le module n'est pas encore opérationnel : il n'a pas été activé. Nous le ferons plus loin dans ce tutoriel.
Normes de programmation
Comme indiqué dans Normes de programmation, omettez la balise PHP fermante ?>. La mettre pourrait causer un comportement erratique sur certaines configurations de serveur (notez que les exemples du manuel montrent cette balise fermante uniquement pour des raisons de formatage de texte, vous ne devez pas la mettre dans votre code à vous).
Toutes les fonctions de votre module utilisées par Drupal sont nommées {nom_du_module}_{hook}, où hook est un suffixe de nom de fonction pré-déclaré. Drupal appellera ces fonctions pour obtenir des données spécifiques, les déclarer selon ce modèle indique à Drupal où regarder. Nous en reparlerons bientôt.
- Version imprimable
- Ajouter un commentaire
- 2769 lectures


Commentaires récents
il y a 6 heures 6 min
il y a 23 heures 53 min
il y a 1 semaine 3 jours
il y a 2 semaines 3 jours
il y a 3 semaines 12 heures
il y a 3 semaines 6 jours
il y a 4 semaines 1 heure
il y a 4 semaines 3 heures
il y a 4 semaines 2 jours
il y a 4 semaines 6 jours