Drupal 7 : Utiliser les wildcards pour faire des menus conditionnels

Posted by on Fév 21, 2013 in Drupal, PHP | No Comments

Dans Drupal, il est possible d’utiliser le mécanisme des wildcards pour afficher une page en fonction de la valeur de la wildcard. Le principe est de créer un menu avec une wildcard ‘%’ et d’envoyer ce paramètre à la fonction d’affichage de la page :

Ici quand un visiteur accèdera à une url de type travel/une_valeur , la variable une_valeur sera transmise à la fonction d’affichage de la page, c’est à dire : green_travel_page_view (dans le fichier green_travel.pages.inc). Ceci est possible grace à ‘page arguments’ => array(1) (array(1) correspond à % et array(0) à travel).

Cela permet ensuite de récupérer cette variable dans la fonction green_travel_page_view :

Dans cet exemple, $user_name correspond à la wildcard récupérer. J’utilise ensuite la fonction user_load_by_name() pour récupérer l’utilisateur qui a pour non $user_name s’il existe.