Il est parfois inévitable de devoir modifier un module contribué afin d’étendre les possibilités de celui-ci ou tout simplement pour corriger quelque chose.
Dans tous les cas il ne faut pas modifier les fichiers du module et les mettre sur votre site parce qu’à ce moment il vous sera compliqué de mettre à jour votre module. Imaginez le jour ou vous voudrez appliquer la nouvelle version de celui-ci, toutes vos modifications seront écrasées.
Pour compléter mon précendent billet voici comment modifier les emails envoyés depuis votre site.
Envoyer des emails depuis votre module est simple à faire, il suffit de déclarer le hook_mail() puis de faire appel à la fonction drupal_mail(). Vous trouverez ci-dessous, un exemple de code que vous pouvez intégrer dans votre module :
Lors de la création de vos modules vous pouvez être amenés à mettre en forme votre contenu pour garder une approche cohérence avec la dissociation fond / forme. Il est donc nécessaire de donner la possibilité au themer de pouvoir modifier la mise en forme du contenu que vous aller afficher.
Afin de rendre une telle action possible, vous allez devoir déclarer au sein de votre module un hook_theme, qui va déclarer les éléments qui pourront être themés via vos templates.
Lorsque vos utilisateurs se connectent à votre site ils arrivent sur leur page de profil (/user), qui est la page par défaut. Pour changer cela vous avez la possibilité d’utiliser le module logintoboggan ou de le faire en programmation en quelques lignes.
1. Il vous faut créer un module que vous placerez dans le répertoire /sites/all/modules. au minimum vous devez avoir un dossier contenant votre fichier monmodule.info et monmodule.module.
Lorsque l’on crée une vue il est possible de créer différents affichages (défaut, page ou encore bloc) mais il n’est pas possible d’intégrer votre vue dans une page à un endroit spécifique. Pour cela il existe des modules comme insert_views qui permettent d’insérer une vue dans une page en ajoutant une simple ligne de code. Le problème est qu’il faut faire attention à chaque fois que vous éditez votre page que votre vue fonctionne toujours surtout si vous utilisez un éditeur Wisywig.
Pour cet exercice nous allons manipuler les fichiers template et preprocess de votre thème.
Lorsque l’auteur d’un contenu poste un commentaire il n’y a pas de différenciation entre lui et un posteur lambda, c’est pourquoi nous allons mettre en valeur ses commentaires.
Nous allons travailler avec les fichiers template.php, comment.tpl.php et style.css, alors assurez vous d’avoir tous ces documents dans votre répertoire de template.
Il est parfois utile de définir une taxonomie pour un module Drupal. Tout se passe lors de l’installation, rien de bien compliqué, voici comment faire.
Tout d’abord il vous faut créer votre module c’est à dire créer et remplir le fichier .info, et créer le fichier .module.
Nous allons ajouter à l’intérieur du hook_install notre code pour générer notre vocabulaire et nos termes de taxonomie.
Déclaration du vocabulaire
Il peut vous arriver d’avoir besoin de récupérer la prochaine valeur utilisée par l’autoincrement au sein de vos applications, hors de question de récupérer la valeur de l’id, de lui ajouter un, de jouer le sioux en ajoutant une variable qui stockerait quelque part l’id en essayant de dupliquer l’autoincrément. Nul besoin de tout cela, MySQL peut nous retourner cette valeur comme un grand garçon !
Pour cela, il suffit d’utiliser la requête suivante :
Parmi les bonnes méthodes de développement avec Drupal, il en existe une qui consiste à créer des modules compatibles à la traduction dans une autre langue. Si vous voulez participer à la communauté Drupal en partageant vos ressources, vous devrez obligatoirement créer votre module en anglais et par la suite le fichier de traduction associé.