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

Informer Drupal de l'existence de cette nouvelle fonction

Référence en anglais sur drupal.org : 10 Juin 2009 - 15h12
http://drupal.org/node/206764


Nous venons de créer une fonction qui génère une page contenant des liens vers des contenus créés un jour donné. Si nous voulons voir cette page, nous devrons lui attribuer une URL, via la fonction Drupal hook_menu(). Nous avons déjà utilisé cette fonction pour définir une URL pour la page de configuration, nous n'avons plus qu'à lui ajouter une autre entrée :

<?php
function onthisdate_menu() {

  
$items = array();

  
//this was created earlier in tutorial 7.
  
$items['admin/settings/onthisdate'] = array(
    
'title' => 'On this date module settings',
    
'description' => 'Description of your On this date settings page',
    
'page callback' => 'drupal_get_form',
    
'page arguments' => array('onthisdate_admin'),
    
'access arguments' => array('access administration pages'),
    
'type' => MENU_NORMAL_ITEM,
   );

  
//this is added for this current tutorial.
  
$items['onthisdate'] = array(
    
'title' => 'On this date',
    
'page callback' => 'onthisdate_all',
    
'access arguments' => array('access onthisdate content'),
    
'type' => MENU_CALLBACK
  
);

  return 
$items;
}
?>

Quelques remarques

  • Comme indiqué dans notre précédente utilisation de hook_menu(), chaque élément du tableau retourné déclare une URL pour notre site Drupal. Celui que nous ajoutons a onthisdate comme chemin (par exemple : http://exemple.com/onthisdate ou http://exemple.com/?q=onthisdate) indiqué par la clé du tableau, et « On this date » comme titre de page.
  • Nous avons indiqué à Drupal que si quelqu'un visite cette URL, la fonction onthisdate_all() devra être utilisée pour générer la page de contenu, via l'élément page_callback du tableau retourné.
  • Nous indiquons à Drupal d'autoriser l'accès à cette page à tout rôle disposant du droit access onthisdate content. Nous avons déclaré ce droit à l'étape 3 de ce tutoriel.Vous pouvez aussi vous rendre sur la page Administrer » Gestion des utilisateurs » Droits d'accès pour accorder ce droit à d'autres rôles ou utilisateurs de votre site.
  • Le type MENU_CALLBACK indique à Drupal de ne pas afficher le lien dans le menu du site mais d'utiliser cette fonction quand l'URL est demandée. Utilisez MENU_NORMAL_ITEM si vous voulez mettre le lien de la page dans le menu principal.
  • Si vous voulez ajouter d'autres pages à votre module, tout ce que vous aurez à faire sera d'ajouter plus d'éléments au tableau $items dans votre implémentation de hook_menu() et d'écrire les fonctions qui affichent ces pages.

Expérimenter

Si le module n'a pas été activé, activez-le comme indiqué dans cette partie du tutoriel. Si vous l'avez déjà activé, vous devrez, pour réinitialiser les définitions de menu dans le système, le désactiver puis le réactiver, ou rafraîchir le cache du menu (allez dans Administrer » Configuration du site » Performance, puis descendez jusqu'au bas de la page et cliquez sur le bouton Supprimer les données du cache.)

Maintenant, allez dans /onthisdate (ou ?q=onthisdate) et voyez ce que vous obtenez.

Voir aussi