2010-05-21 6 views
1

J'utilise Drupal 6.16: Je pense que j'ai une question assez simple. Comment puis-je obtenir l'ID de l'utilisateur actuel et le mettre dans un onglet de menu. Ce que je voudrais arriver est quand l'utilisateur se connecte et veut changer son nom, email etc. pour cliquer sur un onglet de menu. I image il ressemblerait à quelque chose comme ceci: http://domain.com/user/ {userid}/editDrupal html id utilisateur

Merci d'avance! msindle

Répondre

2

C'est plus difficile que vous ne le pensez, car les éléments de menu sont mis en cache. Il n'existe pas de moyen simple de créer des éléments de menu dynamiques avec l'ID utilisateur.

Ce que vous pouvez faire, est d'écrire un module personnalisé et d'imiter le comportement du chemin 'utilisateur'. Avec une implémentation de hook_menu vous créez un élément de menu, avec le chemin 'user/edit' (exactement comme user_menu() crée $items['user']). Ensuite, vous créez un rappel de menu user_edit_page(), similaire à user_page(), qui obtient l'ID de l'utilisateur actuel et renvoie la page d'édition de l'utilisateur:

function user_edit_page() { 
    global $user; 
    if ($user->uid) { 
    menu_set_active_item('user/'. $user->uid .'/edit'); 
    return menu_execute_active_handler(); 
    } 
    else { 
    return drupal_get_form('user_login'); 
    } 
}