2010-05-21 2 views
1

Я использую Drupal 6.16: Я думаю, у меня довольно простой вопрос. Как я могу получить текущий идентификатор пользователя и поместить его на вкладку меню. Я бы хотел, чтобы это произошло, когда пользователь входит в систему и хочет изменить свое имя, адрес электронной почты и т. Д., Чтобы щелкнуть вкладку меню. Я думаю, что это будет выглядеть примерно так: http://domain.com/user/ {userid}/изменитьDrupal html user id

Заранее благодарен! msindle

ответ

2

Это сложнее, чем вы думаете, потому что пункты меню кешируются. Не существует простого способа создания динамических элементов меню с идентификатором пользователя.

Что вы делаете может do, пишет пользовательский модуль и имитирует поведение пути пользователя. С реализацией hook_menu вы создаете пункт меню, с указанием «user/edit» (как и user_menu() создает $items['user']). Затем вы создаете обратный вызов меню user_edit_page(), похожий на user_page(), который получает идентификатор текущего пользователя и возвращает страницу редактирования пользователя:

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'); 
    } 
} 
Смежные вопросы