aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcash <cash.costello@gmail.com>2011-12-08 19:28:56 -0500
committercash <cash.costello@gmail.com>2011-12-08 19:28:56 -0500
commitcb20d84a4ce17c8071e8f474b82341ec1aec083d (patch)
treec1ddfac4481b6999c7202969bae2eb3291ebbd09
parente4067b9e9146de425dc391bbe3767a9ca3e4e602 (diff)
downloadelgg-cb20d84a4ce17c8071e8f474b82341ec1aec083d.tar.gz
elgg-cb20d84a4ce17c8071e8f474b82341ec1aec083d.tar.bz2
added the ability to pass a class to be applied to all menu item <li> elements
-rw-r--r--views/default/navigation/menu/default.php13
-rw-r--r--views/default/navigation/menu/elements/item.php6
-rw-r--r--views/default/navigation/menu/elements/section.php17
3 files changed, 25 insertions, 11 deletions
diff --git a/views/default/navigation/menu/default.php b/views/default/navigation/menu/default.php
index 0fa391433..006deb3ea 100644
--- a/views/default/navigation/menu/default.php
+++ b/views/default/navigation/menu/default.php
@@ -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,
));
}
diff --git a/views/default/navigation/menu/elements/item.php b/views/default/navigation/menu/elements/item.php
index 5d6a7e367..22383ce0b 100644
--- a/views/default/navigation/menu/elements/item.php
+++ b/views/default/navigation/menu/elements/item.php
@@ -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();
diff --git a/views/default/navigation/menu/elements/section.php b/views/default/navigation/menu/elements/section.php
index 92a259776..c0e9ba750 100644
--- a/views/default/navigation/menu/elements/section.php
+++ b/views/default/navigation/menu/elements/section.php
@@ -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>';