drupal_6_install_bCe billet est le premier d’une nouvelle série qui aura pour objectif de présenter divers modules utiles ou intéressants. Certains modules majeurs auront quand à eux des articles plus complet avec leurs screencasts (CCK, Views, Localization…).
Le premier module présenté est Login Destination.

Lorsque vous vous logguez sur votre site, vous arrivez sur la page d’accueil (par défaut http://votresite.com/node). Cette page se choisi dans /admin/settings/site-information. L’inconvénient est que cette page est définie pour tous les utilisateurs de votre site, sans tenir compte de leur statut, administrateur ou anonymes.
Vous aurez peut être envie que vos utilisateurs aient chacun une homepage différente. C’est ici que login destination intervient.
En insérant ce code dans l’interface de configuration (admin/user/login_destination):

Capture d’écran 2009-09-21 à 23.36.20

global $user;
switch ($user->name) {
case admin :
return 'admin';
break;
case editeur:
return 'node/add';
break;
default:
return 'node';
break;
}

Vos utilisateurs seront redirigés vers la page définie.

case NomUtilisateur :
return ‘chemin/drupal’;
break;

Le ‘chemin/drupal’ correspond au chemin pris en compte par Drupal dans son architecture. Il indique la page que vous souhaitez utiliser comme « login destination» .

Le paramètre utilisé dans le switch ($user->name) peut varier. Nous verrons dans les prochains articles consacrés aux utilisateurs (via l’interface web, puis l’utilisation dans le code) que la liste de paramètres possibles est importante (autant que l’objet user à de paramètre). Nous pouvons par exemple utiliser ($node->role) pour rediriger des groupes d’utilisateurs entiers. Si vous suivez le lien donné en début de billet, vous verrez que vous pouvez utiliser un if, toute syntaxe est valable, à vous de l’adapter à vos besoins.

Le module n’est à l’heure actuelle pas avancé au point de permettre à l’utilisateur de choisir lui même la page qu’il souhaite, si vous souhaitez contribuer à ce module et que vous êtes motivés, n’hésitez pas à aller sur drupal.org