Ответ 1
access callback
- это правильное место для принятия решения о том, следует ли отображать вкладку, но код является всего лишь одним слоем:
function addtabexample_menu() {
$items = array();
$items['node/%node/test'] = array(
'title' => 'Test',
'page callback' => 'handle_test',
'page arguments' => array('node', 1),
'access callback' => 'addtabexample_access_callback',
'access arguments' => array(1),
'type' => MENU_LOCAL_TASK,
'weight' => 100,
);
return $items;
}
function addtabexample_access_callback($node) {
return $node->type == 'abc' && user_access('access content');
}
Не забудьте очистить кеши, как только вы изменили код в hook_menu()
, чтобы изменения вступили в силу.