Идентификатор пользователя HTML Drupal

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

Заранее спасибо! msindle

1
задан marcvangend 6 March 2011 в 19:53
поделиться

1 ответ

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

Что вы можете сделать, так это написать собственный модуль и имитировать поведение «пользовательского» пути. При реализации 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');
  }
}
2
ответ дан 3 September 2019 в 00:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: