我使用以下代码为我的节点类型包含自定义选项卡:
function mymodule_menu(){
$items['node/%node/register'] = array(
'page arguments' => array(1),
'access arguments' => array('access content'),
'type' => MENU_LOCAL_TASK,
'title' => 'Register',
);
return $items;
}
这样可以为每个节点类型添加寄存器选项卡。 但是,我需要仅为页面类型包含该选项卡,并将其排除在所有其他类型(如文章类型等)上。
有人可以提供一些方向吗?
答案 0 :(得分:0)
最简单的方法是提供自己的访问回调来检查节点类型,例如
function mymodule_menu(){
$items['node/%node/register'] = array(
'page arguments' => array(1),
'access callback' => 'mymodule_node_register_tab_access',
'access arguments' => array(1),
'type' => MENU_LOCAL_TASK,
'title' => 'Register',
);
return $items;
}
function mymodule_node_register_tab_access($node) {
$valid_types = array('page');
return in_array($node->type, $valid_types);
}