我正在尝试在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;
}
我引用的一个示例是here,它只适用于“/ 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;
}
答案 0 :(得分:6)
您可以按原样保留node/add/photos
菜单项。您需要保留与user/%user/addphoto
类似的URL模式格式,以使选项卡显示在用户配置文件页面上。但是,请尝试在新菜单项中使用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,
);
参考文献:
答案 1 :(得分:6)
我没有足够的声誉评论答案。 注意hook_menu 确实需要一个未翻译的标题,文档说:
"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;
}