我想在我的Drupal 7网站上的mysite.com/user上添加两个新标签到用户帐户页面.我想添加添加照片节点/添加/照片和添加视频节点/添加/视频的链接,但我的模块user_menu_add的以下代码对我不起作用:
function user_menu_add_menu() {
$items['node/add/photos'] = array(
'title' => t('Add Photos'),
'page callback' => 'user_menu_add',
'page arguments' => array(1),
'access callback' => TRUE,
'access arguments' => array('access user menu add'),
'type' => MENU_LOCAL_TASK,
);
return $items;
}
Run Code Online (Sandbox Code Playgroud)
我引用的一个例子在这里工作,但仅适用于"/ user"子目录下的链接
function my_module_menu() {
$items['user/%user/funky'] = array(
'title' => t('Funky Button'),
'page callback' => 'my_module_funky',
'page arguments' => array(1),
'access callback' => TRUE,
'access arguments' => array('access funky button'),
'type' => MENU_LOCAL_TASK,
);
return $items;
}
Run Code Online (Sandbox Code Playgroud)

您可以node/add/photos按原样保留菜单项.您需要保持URL模式格式user/%user/addphoto,以便使选项卡显示在用户配置文件页面上.但是,请尝试drupal_goto()在新菜单项中使用以重定向到该node/add/photos页面.
试试这个:
$items['user/%user/addphoto'] = array(
'title' => t('Add Photos'),
'page callback' => 'drupal_goto',
'page arguments' => array('node/add/photos'),
'access callback' => 'user_is_logged_in',
'type' => MENU_LOCAL_TASK,
);
Run Code Online (Sandbox Code Playgroud)
参考文献:
小智 6
我没有足够的声誉评论答案.请注意hook_menu 需要一个未翻译的标题确实文档说:
Run Code Online (Sandbox Code Playgroud)"title": Required. The untranslated title of the menu item.
所以代码应该是
function my_module_menu() {
$items['user/%user/addphoto'] = array(
'title' => 'Add Photos',
'page callback' => 'drupal_goto',
'page arguments' => array('node/add/photos'),
'access callback' => 'user_is_logged_in',
'type' => MENU_LOCAL_TASK,
);
return $items;
}
Run Code Online (Sandbox Code Playgroud)