Drupal - 根据节点类型指定要阻止的菜单

时间:2010-06-02 11:33:21

标签: drupal drupal-navigation

我想根据当前显示页面的节点类型在左侧边栏块中指定一个特定菜单。我认为应该看起来像这样,但我被卡住了。

function my_module_nodeapi(&$node, $op) {
  switch ($op) {
    case 'view':
      if ($node->type == "large_reptiles") 
      {
        //menu_set_active_menu_name('menu_reptile_menu');
        //menu_set_active_item('menu_reptile_menu');
      }
    break;
  }  
}

1 个答案:

答案 0 :(得分:0)

您无法使用hook_nodeapi。您应该自己在模块中创建块,并根据节点打印菜单。

function hook_block($op = 'list', $delta = 0, $edit = array()) {
  switch ($op) {

    case 'view':
        if (arg(0) == 'node' && is_numeric(arg(1))) {
          $node = node_load(arg(1));
        }
        if (!empty($node) && node->type == '...') {
          // Theme the menu you want
        }
        ...
        else {
          // Provide a default option
        }


    ....
  }
}