Same name and namespace in other branches
  1. 4.6.x includes/menu.inc \menu_tree()
  2. 4.7.x includes/menu.inc \menu_tree()
  3. 6.x includes/menu.inc \menu_tree()
  4. 7.x includes/menu.inc \menu_tree()

Returns a rendered menu tree.

Parameters

$pid: The parent id of the menu.

Related topics

File

includes/menu.inc, line 658
API for the Drupal menu system.

Code

function menu_tree($pid = 1) {
  $menu = menu_get_menu();
  $output = '';
  if (isset($menu['visible'][$pid]) && $menu['visible'][$pid]['children']) {
    foreach ($menu['visible'][$pid]['children'] as $mid) {
      $type = isset($menu['visible'][$mid]['type']) ? $menu['visible'][$mid]['type'] : NULL;
      $children = isset($menu['visible'][$mid]['children']) ? $menu['visible'][$mid]['children'] : NULL;
      $output .= theme('menu_item', $mid, menu_in_active_trail($mid) || $type & MENU_EXPANDED ? theme('menu_tree', $mid) : '', count($children) == 0);
    }
  }
  return $output;
}