2012-11-19 57 views
1

我使用以下代碼以包括自定義標籤爲我的節點類型:Hook_menu選擇性菜單選項卡顯示

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

最簡單的方法是提供自己的訪問回調來檢查節點類型,例如,

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); 
}