]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
added the ability to pass a class to be applied to all menu item <li> elements
authorcash <cash.costello@gmail.com>
Fri, 9 Dec 2011 00:28:56 +0000 (19:28 -0500)
committercash <cash.costello@gmail.com>
Fri, 9 Dec 2011 00:28:56 +0000 (19:28 -0500)
views/default/navigation/menu/default.php
views/default/navigation/menu/elements/item.php
views/default/navigation/menu/elements/section.php

index 0fa391433edf7f04810515e35f7b016c3db6d166..006deb3eab2280a5d652ba279b12ca3139198f0a 100644 (file)
@@ -2,15 +2,17 @@
 /**
  * Default menu
  *
- * @uses $vars['name']
- * @uses $vars['menu']
- * @uses $vars['class']
- * @uses $vars['show_section_headers']
+ * @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?
  */
 
 // 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'])) {
@@ -23,6 +25,7 @@ foreach ($vars['menu'] as $section => $menu_items) {
                'class' => "$class elgg-menu-{$vars['name']}-$section",
                'section' => $section,
                'name' => $vars['name'],
-               'show_section_headers' => $headers
+               'show_section_headers' => $headers,
+               'item_class' => $item_class,
        ));
 }
index 5d6a7e3670023477bb171df77d9b21f2b0226562..22383ce0be28ce17c63aed416e902c49a6ec7363 100644 (file)
@@ -4,6 +4,9 @@
  *
  * @package Elgg.Core
  * @subpackage Navigation
+ *
+ * @uses $vars['item']       ElggMenuItem
+ * @uses $vars['item_class'] Additional CSS class for the menu item
  */
 
 $item = $vars['item'];
@@ -21,6 +24,9 @@ if ($children) {
 }
 
 $item_class = $item->getItemClass();
+if (isset($vars['item_class']) && $vars['item_class']) {
+       $item_class .= ' ' . $vars['item_class'];
+}
 
 echo "<li class=\"$item_class\">";
 echo $item->getContent();
index 92a259776aca407f6e077fb38f81a4078e6eb56b..c0e9ba7507784a8f173dcc4912a1b1dd70c3bcc4 100644 (file)
@@ -2,15 +2,17 @@
 /**
  * Menu group
  *
- * @uses $vars['items']
- * @uses $vars['class']
- * @uses $vars['name']
- * @uses $vars['section']
- * @uses $vars['show_section_headers']
+ * @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);
@@ -20,6 +22,9 @@ if ($headers) {
 
 echo "<ul class=\"$class\">";
 foreach ($vars['items'] as $menu_item) {
-       echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
+       echo elgg_view('navigation/menu/elements/item', array(
+               'item' => $menu_item,
+               'item_class' => $item_class,
+       ));
 }
 echo '</ul>';