diff options
Diffstat (limited to 'views/default/navigation/menu/default.php')
| -rw-r--r-- | views/default/navigation/menu/default.php | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/views/default/navigation/menu/default.php b/views/default/navigation/menu/default.php index d849fb80e..006deb3ea 100644 --- a/views/default/navigation/menu/default.php +++ b/views/default/navigation/menu/default.php @@ -2,19 +2,30 @@ /** * Default menu * - * @uses $vars['menu'] - * @uses $vars['class'] + * @uses $vars['name'] Name of the menu + * @uses $vars['menu'] Array of menu items + * @uses $vars['class'] Additional CSS class for the menu + * @uses $vars['item_class'] Additional CSS class for each menu item + * @uses $vars['show_section_headers'] Do we show headers for each section? */ -$class = 'elgg-menu'; +// we want css classes to use dashes +$vars['name'] = preg_replace('/[^a-z0-9\-]/i', '-', $vars['name']); +$headers = elgg_extract('show_section_headers', $vars, false); +$item_class = elgg_extract('item_class', $vars, ''); + +$class = "elgg-menu elgg-menu-{$vars['name']}"; if (isset($vars['class'])) { - $class = "$class {$vars['class']}"; + $class .= " {$vars['class']}"; } foreach ($vars['menu'] as $section => $menu_items) { - echo "<ul class=\"$class\">"; - foreach ($menu_items as $menu_item) { - echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item)); - } - echo '</ul>'; + echo elgg_view('navigation/menu/elements/section', array( + 'items' => $menu_items, + 'class' => "$class elgg-menu-{$vars['name']}-$section", + 'section' => $section, + 'name' => $vars['name'], + 'show_section_headers' => $headers, + 'item_class' => $item_class, + )); } |
