I am trying to add two new tabs to the user account page at mysite.com/user on my Drupal 7 site. I want to add links to Add Photos node/add/photos and Add Videos node/add/videos but the following code for my module user_menu_add is not working for me:
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;
}
an example i have referenced is here which works but only for links beneath the "/user" sub directory
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;
}
You can keep the node/add/photos
menu item as is. You need to keep the URL pattern formatting like it is for the user/%user/addphoto
in order to make the tab appear on the user profile page. However, try using drupal_goto()
in your new menu item to redirect to the node/add/photos
page.
Try this:
$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,
);
References:
drupal_goto()
user_is_logged_in()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With