From 8ec093ecc1bf28c09f5d2dbe3c7bc8e6a2485ac6 Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 18 Dec 2010 16:37:16 +0000 Subject: site nav menu now uses new menu code (and finished the implementation of custom menu items while I was at it - not backward compatible with the previous half finished version) git-svn-id: http://code.elgg.org/elgg/trunk@7668 36083f99-b078-4883-b0ff-0f9b5a30f544 --- views/default/admin/appearance/menu_items.php | 43 +++++++------ views/default/navigation/menu/elements/item.php | 10 +++ views/default/navigation/menu/site.php | 25 ++++++++ views/default/navigation/site_nav.php | 83 ------------------------- views/default/page/elements/header.php | 2 +- 5 files changed, 57 insertions(+), 106 deletions(-) create mode 100644 views/default/navigation/menu/elements/item.php create mode 100644 views/default/navigation/menu/site.php delete mode 100644 views/default/navigation/site_nav.php (limited to 'views/default') diff --git a/views/default/admin/appearance/menu_items.php b/views/default/admin/appearance/menu_items.php index 9bed69a06..7572d2e0c 100644 --- a/views/default/admin/appearance/menu_items.php +++ b/views/default/admin/appearance/menu_items.php @@ -6,18 +6,17 @@ * @subpackage Core */ -$menu_items = get_register('menu'); -$featured_urls = get_config('menu_items_featured_urls'); +$builder = new ElggMenuBuilder('site'); +$menu = $builder->getMenu('name'); +$menu_items = $menu['default']; -// get an alphabetical sort of the items + urls -foreach ($menu_items as $name => $info) { - $menu_sorted[$info->name] = $info->value->url; -} - -ksort($menu_sorted); +$featured_menu_names = elgg_get_config('site_featured_menu_names'); -$pulldown_values = array_flip($menu_sorted); -$pulldown_values[''] = elgg_echo('none'); +$dropdown_values = array(); +foreach ($menu_items as $item) { + $dropdown_values[$item->getName()] = $item->getTitle(); +} +$dropdown_values[''] = elgg_echo('none'); echo elgg_view_title(elgg_echo('admin:menu_items')); echo ""; \ No newline at end of file diff --git a/views/default/navigation/menu/elements/item.php b/views/default/navigation/menu/elements/item.php new file mode 100644 index 000000000..f6959b2f4 --- /dev/null +++ b/views/default/navigation/menu/elements/item.php @@ -0,0 +1,10 @@ +getSelected()) { + $class = 'class="selected"'; +} + +echo "
  • {$item->getLink()}
  • "; diff --git a/views/default/navigation/menu/site.php b/views/default/navigation/menu/site.php new file mode 100644 index 000000000..c2b00fd72 --- /dev/null +++ b/views/default/navigation/menu/site.php @@ -0,0 +1,25 @@ +'; +foreach ($vars['menu']['default'] as $menu_item) { + echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item)); +} + +if (isset($vars['menu']['more'])) { + $more = elgg_echo('more'); + echo '
  • '; + echo "$more"; + echo ''; + echo '
  • '; +} +echo ''; diff --git a/views/default/navigation/site_nav.php b/views/default/navigation/site_nav.php deleted file mode 100644 index aaf596b93..000000000 --- a/views/default/navigation/site_nav.php +++ /dev/null @@ -1,83 +0,0 @@ -name; -} - -// required because array multisort is case sensitive -$more_sorted_lower = array_map('elgg_strtolower', $more_sorted); -array_multisort($more_sorted_lower, $more); - -$item_count = 0; - -// if there are no featured items, display the standard tools in alphabetical order -if ($featured) { - foreach ($featured as $info) { - $selected = ($info->value->context == $context) ? 'class="selected"' : ''; - $title = htmlentities($info->name, ENT_QUOTES, 'UTF-8'); - $url = htmlentities($info->value->url, ENT_QUOTES, 'UTF-8'); - - $nav_html .= "
  • $title
  • "; - } -} elseif ($more) { - for ($i=0; $i<5; $i++) { - if (!array_key_exists($i, $more)) { - break; - } - $info = $more[$i]; - - $selected = ($info->value->context == $context) ? 'class="selected"' : ''; - $title = htmlentities($info->name, ENT_QUOTES, 'UTF-8'); - $url = htmlentities($info->value->url, ENT_QUOTES, 'UTF-8'); - - $nav_html .= "
  • $title
  • "; - $more[$i]->used = TRUE; - $item_count++; - } -} - -// display the rest. -foreach ($more as $info) { - if ($info->used) { - continue; - } - $selected = ($info->value->context == $context) ? 'class="selected"' : ''; - $title = htmlentities($info->name, ENT_QUOTES, 'UTF-8'); - $url = htmlentities($info->value->url, ENT_QUOTES, 'UTF-8'); - - $more_nav_html .= "
  • $title
  • \n"; - $item_count++; -} - -if ($more_nav_html) { - $more = elgg_echo('more'); - $nav_html .= "
  • $more - -
  • "; -} - -// only display, if there are nav items to display -if ($nav_html) { - echo <<<___END - -___END; -} - diff --git a/views/default/page/elements/header.php b/views/default/page/elements/header.php index 0cedd33e2..125d80bfa 100644 --- a/views/default/page/elements/header.php +++ b/views/default/page/elements/header.php @@ -15,7 +15,7 @@ echo elgg_view('core/account/login_dropdown'); // insert site-wide navigation - echo elgg_view('navigation/site_nav'); + echo elgg_view_menu('site'); // insert a view which can be extended echo elgg_view('header/extend'); -- cgit v1.2.3