1

次のコードを使用して、ノード タイプのカスタム タブを含めています。

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

これにより、すべてのノード タイプに登録タブが含まれるようになります。ただし、ページ タイプのみにそのタブを含め、記事タイプなどの他のすべてのタイプでは除外する必要があります。

誰か方向性を教えてください。

4

1 に答える 1

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);
}
于 2012-11-19T13:00:57.757 に答える