aboutsummaryrefslogtreecommitdiff
path: root/views/default/navigation/menu/elements
diff options
context:
space:
mode:
Diffstat (limited to 'views/default/navigation/menu/elements')
-rw-r--r--views/default/navigation/menu/elements/group.php19
-rw-r--r--views/default/navigation/menu/elements/item.php23
-rw-r--r--views/default/navigation/menu/elements/section.php30
3 files changed, 45 insertions, 27 deletions
diff --git a/views/default/navigation/menu/elements/group.php b/views/default/navigation/menu/elements/group.php
deleted file mode 100644
index b0c0f54d4..000000000
--- a/views/default/navigation/menu/elements/group.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * Menu group
- *
- * @uses $vars['items']
- * @uses $vars['class']
- * @uses $vars['section']
- */
-
-$class = elgg_extract('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 7b07c9485..fd9738826 100644
--- a/views/default/navigation/menu/elements/item.php
+++ b/views/default/navigation/menu/elements/item.php
@@ -4,31 +4,38 @@
*
* @package Elgg.Core
* @subpackage Navigation
+ *
+ * @uses $vars['item'] ElggMenuItem
+ * @uses $vars['item_class'] Additional CSS class for the menu item
*/
$item = $vars['item'];
$link_class = 'elgg-menu-closed';
if ($item->getSelected()) {
- $item->setItemClass('elgg-state-selected');
+ // @todo switch to addItemClass when that is implemented
+ //$item->setItemClass('elgg-state-selected');
$link_class = 'elgg-menu-opened';
}
$children = $item->getChildren();
if ($children) {
- $item->setLinkClass($link_class);
- $item->setLinkClass('elgg-menu-parent');
+ $item->addLinkClass($link_class);
+ $item->addLinkClass('elgg-menu-parent');
}
$item_class = $item->getItemClass();
-if ($item_class) {
- $class = "class=\"$item_class\"";
+if ($item->getSelected()) {
+ $item_class = "$item_class elgg-state-selected";
+}
+if (isset($vars['item_class']) && $vars['item_class']) {
+ $item_class .= ' ' . $vars['item_class'];
}
-echo "<li $class>";
-echo $item->getLink($link_vars);
+echo "<li class=\"$item_class\">";
+echo $item->getContent();
if ($children) {
- echo elgg_view('navigation/menu/elements/group', array(
+ echo elgg_view('navigation/menu/elements/section', array(
'items' => $children,
'class' => 'elgg-menu elgg-child-menu',
));
diff --git a/views/default/navigation/menu/elements/section.php b/views/default/navigation/menu/elements/section.php
new file mode 100644
index 000000000..c0e9ba750
--- /dev/null
+++ b/views/default/navigation/menu/elements/section.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Menu group
+ *
+ * @uses $vars['items'] Array of menu items
+ * @uses $vars['class'] Additional CSS class for the section
+ * @uses $vars['name'] Name of the menu
+ * @uses $vars['section'] The section name
+ * @uses $vars['item_class'] Additional CSS class for each menu item
+ * @uses $vars['show_section_headers'] Do we show headers for each section
+ */
+
+$headers = elgg_extract('show_section_headers', $vars, false);
+$class = elgg_extract('class', $vars, '');
+$item_class = elgg_extract('item_class', $vars, '');
+
+if ($headers) {
+ $name = elgg_extract('name', $vars);
+ $section = elgg_extract('section', $vars);
+ echo '<h2>' . elgg_echo("menu:$name:header:$section") . '</h2>';
+}
+
+echo "<ul class=\"$class\">";
+foreach ($vars['items'] as $menu_item) {
+ echo elgg_view('navigation/menu/elements/item', array(
+ 'item' => $menu_item,
+ 'item_class' => $item_class,
+ ));
+}
+echo '</ul>';