function theme_dhtml_menu_item in DHTML Menu 5
Same name and namespace in other branches
- 6 dhtml_menu.inc \theme_dhtml_menu_item()
- 6.2 dhtml_menu.theme.inc \theme_dhtml_menu_item()
Format each menu item
1 theme call to theme_dhtml_menu_item()
- dhtml_menu_tree in ./
dhtml_menu.module - Convert menus into DHTML menus
File
- ./
dhtml_menu.module, line 176 - DHTML menus
Code
function theme_dhtml_menu_item($mid, $children = '', $leaf = true) {
static $expanded = null;
$active = $display = '';
if (!is_array($expanded)) {
$expanded = explode(',', $_COOKIE['dhtml_menu']);
}
if ($mid == menu_get_active_nontask_item()) {
$active = ' active';
}
if ($leaf) {
return " <li class=\"leaf{$active}\">" . menu_item_link($mid) . "</li>\n";
}
else {
$menu = menu_get_menu();
$type = isset($menu['visible'][$mid]['type']) ? $menu['visible'][$mid]['type'] : null;
if (menu_in_active_trail($mid) || $type & MENU_EXPANDED || in_array("sub{$mid}", $expanded)) {
$state = 'expanded';
}
else {
$state = 'collapsed';
$display = 'style="display: none;"';
}
$output = "<li class=\"menutitle {$state}\" id=\"menu-sub{$mid}\" >";
$output .= menu_item_link($mid);
$output .= "<div class=\"submenu\" id=\"sub{$mid}\" {$display}>\n";
$output .= "{$children}\n</div>\n";
$output .= "</li>\n";
return $output;
}
}