Block title
Block content
Ze webmaster
Par Ze webmaster,
Wed 17 October 2018

Créer vos modules

On en fait des trucs avec des modules...

Principe


Drupal 7 est un CMS dont le paradygme est la modularité. Vous pouvez utiliser à loisir les modules contributeurs pour intégrer à votre Drupal des fonctionnalités communément utilisées : agenda, adresse, carte et géolocalisation, captcha, paypal ...
Mais la grande puissance de Drupal réside dans la possibilité de créer soi-même vos propres modules pour implémenter vos services et traitements spécifiques.

 

Où sont les modules


Drupal est avant tout un empilement de modules. On trouve :

Module du core mon-projet-drupal/modules
On n'y touchera jamais ... JAMAIS.
Au risque de tuer un châton !
Module contributeurs mon-projet-drupal/sites/all/modules
Tous les modules que vous téléchargerez.
Vos modules mon-projet-drupal/sites/default/modules
C'est ici que tout se passe !

 

Qu'ils soient du core, contributeurs ou développés par vos soins, tous les modules sont construits de la même manière :

Un repertoire monmodule ;
Un fichier monmodule.info ;
Un fichier monmodule.module.

Et c'est la base... Mais vous pouvez inclure tout un tas d'autres scripts.

 

 

Créer son premier module


1 // Créer le répertoire de votre module

mkdir mon-projet-drupal/sites/default/modules/monmodule

 

2 // Créer le fichier .info
Il est important les conventions de nommage : monmodule.info

;$Id$		|| pour les cvs  
	
name		= Nom du module			  || Dans le menu administration --> son nom
description	= Description du module	  || Dans le menu administration --> sa description
package		= Nom du paquet			  || Dans le menu administration --> son appartenance à un paquet 
core		= 7.x					  || Dans le menu administration --> version du core
files[]		= monmodule.module

;dependencies[] = autoload			  || Dans le menu administration --> required

On définit ainsi les informations minimales concernant le module ... mais d'autres paramètres peuvent être définis.
https://www.drupal.org/docs/7/creating-custom-modules/writing-module-info-files-drupal-7x

 

3 // Créer le fichier .module
Il est important les conventions de nommage : monmodule.module
C'est dans ce fichier que vous définirez vos hooks et les fonctions de traitement de votre module. Et vous pouvez commencer tout de suite en implémentant un hook_help()... Car c'est une bonne pratique !

/**
* Implements hook_help()
**/
function monmodule_help($path, $arg)
{
  if($path == 'admin/help#monmodule')
  {
    return ('mon module me sert à ...');
  }
}

 

4 // Pensez à vider votre cache
Avec drush ou directement dans le menu d'administration de Drupal.

 

5 // Activer votre module
Avec drush ou directement dans l'interface d'administration des modules.

 

6 // Codez
Il ne vous reste qu'à coder...
Vous pouvez commencer par implémenter un hook_menu() dans votre fichier monmodule.module.

/**
* Implements hook_menu()
*
**/
function monmodule_menu() {
  $items = array();
  $items['mon-chemin'] = array(
      'title'             => 'Ma premiere page',
      'description'       => 'Pour tester la création de mon premier module',
      'page callback'     => 'ma_fonction',
      'access arguments' => array( 'access content' ),
      'type'              => MENU_NORMAL_ITEM,
  );
  return $items;
}

Implémenter votre fonction.

function ma_fonction(){
  return 'hello world';
}

Vider votre cache... et rendez-vous à l'adresse que vous avez défini dans votre hook_menu.
Une belle page hello world !

hello world

Et maintenant, à vous de jouer !

Sources téléchargeables ici

 

Note pour plus tard : il est nécessaire de vider vos caches à chaque implémentation d'un nouveau hook ... Sinon ça marche pas !

 

Pour en savoir plus


Création de modules
https://www.drupal.org/docs/7/creating-custom-modules

Allez plus loin avec les hooks
http://zewebmaster/blog/hook-drupal-7
http://zewebmaster.fr/blog/hook-menu-drupal-7

Commentaires


Ajouter un commentaire

edit Ajouter un commentaire