我正在使用Drupal 6.16:我想我有一个非常简单的问题。如何获取当前用户ID并将其放在菜单选项卡中。我想要发生的是当用户登录并想要更改他们的姓名,电子邮件等以单击菜单选项卡时。我想它会看起来像这样:http://domain.com/user/ {userid} / edit
提前致谢! msindle
答案 0 :(得分:2)
这比你想象的要困难,因为菜单项是缓存的。没有一种直接的方法来创建包含userID的动态菜单项。
可以做什么,是编写自定义模块并模仿“用户”路径的行为。通过hook_menu的实现,您可以创建一个菜单项,其路径为“user / edit”(就像user_menu()创建$items['user']
)。接下来,您创建一个菜单回调user_edit_page()
,类似于user_page(),它获取当前用户的ID并返回用户编辑页面:
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');
}
}