Module summary : le tout début "Salut"

Source: http://php.developpez.com/tutoriels/drupal/atelier-drupal7/?page=creatio...

La base: Le module est nommé summary, en PJ le .info et summary.module.

Créer un répertoire pour le module: sites/all/modules/summary Y ajouter le .info et le fichier summary.module.

hook_help pour créer une page d'aide (liste des modules)

Le .info et extrait du .module - état 0
$Id:
name = Summary
description = Résumé conf
core = 7.x
package = Atelier Drupal
files[] = summary.module

function summary_help($path, $arg) {
  switch ($path) {
   case 'admin/help#summary':
     return '<p>' .  t('Module qui aff page résumé.') . '</p>';
}

hook_menu() : pour créer une page associée à une URL

On veux créer une nouvelle page, avec un titre et dont le chemin sera /summary.
La documentation de hook_menu indique que la valeur de retour doit être un tableau associatif dont chaque élément est un menu, car il est bien sûr possible d'avoir plusieurs pages pour un module. La clé de chaque élément doit décrire son chemin. Pour chaque menu, un tableau associatif doit être décrit. Ici, on utilise les clés « title », « access arguments », « type » et « page callback ».

/**
 * Implementation of hook_menu()
 */
function summary_menu() {
  $items['summary'] = array(
    'title' => 'Summary of your site',
    'access arguments' => array(TRUE),
    'type' => MENU_CALLBACK, 
    'page callback' => 'summary_content',
  );
  return $items; 
}
 
/**
 * Content of the summary page
 */
function summary_content() {
  return 'Salut';
}

Notes

  •  La fonction t() est automatiquement appelée pour la clé 'title'
  • 'access arguments' permet d'utiliser les droits. Ici, accès publique.
  • 'type' Type de page et de menu, permet d'indiquer si le menu doit être affiché dans le bloc d'admin, dans le fil d'Arianne, si c'est une sous-page, etc.
  • 'page callback' Nom de la fonction qui sera appelée pour retourner le contenu.
  • En PHP, une fonction peut prendre en argument le nom d'une autre fonction et demander son exécution par la suite. Elle est alors appelée fonction callback.

A ce stade, on peux activer le module, mais il n'affiche pas grand chose.

Passer coder_review pour trouver les erreurs de syntaxe

Ci joint, le module summary0 (avec summary0.info et summary0.module), qui affiche

  • "Salut" à la page summary0 et
  • à la page "admin/modules" un lien "aide" (vers le texte envoyé par summary0_help).
Doc tek: 
Fichier attachéTaille
Plain text icon summary0.zip_.txt1004 octets