diff options
Diffstat (limited to 'views/default/navigation/menu/elements')
-rw-r--r-- | views/default/navigation/menu/elements/group.php | 19 | ||||
-rw-r--r-- | views/default/navigation/menu/elements/item.php | 17 |
2 files changed, 35 insertions, 1 deletions
diff --git a/views/default/navigation/menu/elements/group.php b/views/default/navigation/menu/elements/group.php new file mode 100644 index 000000000..09474ea67 --- /dev/null +++ b/views/default/navigation/menu/elements/group.php @@ -0,0 +1,19 @@ +<?php +/** + * Menu group + * + * @uses $vars['items'] + * @uses $vars['class'] + * @uses $vars['section'] + */ + +$class = elgg_get_array_value('class', $vars, ''); +if (isset($vars['section'])) { + $class = "$class elgg-section-{$vars['section']}"; +} + +echo "<ul class=\"$class\">"; +foreach ($vars['items'] as $menu_item) { + echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item)); +} +echo '</ul>'; diff --git a/views/default/navigation/menu/elements/item.php b/views/default/navigation/menu/elements/item.php index f6959b2f4..7903dbdc0 100644 --- a/views/default/navigation/menu/elements/item.php +++ b/views/default/navigation/menu/elements/item.php @@ -7,4 +7,19 @@ if ($item->getSelected()) { $class = 'class="selected"'; } -echo "<li $class>{$item->getLink()}</li>"; +$link_vars = array(); + +$children = $item->getChildren(); +if ($children) { + $link_vars['class'] = 'elgg-menu-parent elgg-menu-closed'; +} + +echo "<li $class>"; +echo $item->getLink($link_vars); +if ($children) { + echo elgg_view('navigation/menu/elements/group', array( + 'items' => $children, + 'class' => 'elgg-menu elgg-child-menu', + )); +} +echo '</li>'; |