Removing home stub if empty

Added an Event HomeStubNavItems
menu->subMenu() returns false if empty
This commit is contained in:
buttle 2015-02-13 16:26:41 +01:00
parent 2a0a0287d4
commit d0347bb98f
3 changed files with 24 additions and 13 deletions

View File

@ -1463,3 +1463,12 @@ StartNotifyMentioned: During notice distribution, we send notifications (email,
EndNotifyMentioned: During notice distribution, we send notifications (email, im...) to the profiles who were somehow mentioned.
- $stored: Notice object that is being distributed.
- $mentioned_ids: Array of profile IDs (not just for local users) who got mentioned by the notice.
StartHomeStubNavItems: Go back Home nav items. Default includes just one item 'home'
- $action: action being executed (for output and params)
- $items: array of items in the nav
EndHomeStubNavItems:
- $action: action being executed (for output and params)
- $items: array of items in the nav

View File

@ -49,17 +49,18 @@ class HomeStubNav extends Menu
{
function getItems()
{
if (Event::handle('StartHomeStubNav', array(&$this->action))) {
return array(array('top',
array(),
// TRANS: Menu item in personal group navigation menu.
_m('MENU','Home'),
// TRANS: Menu item title in personal group navigation menu.
// TRANS: %s is a username.
_('Back to top'),
'nav_return_top'));
Event::handle('EndHomeStubNav', array(&$this->action));
$items = array();
if (Event::handle('StartHomeStubNavItems', array($this->action, &$items))) {
$items[] = array('top',
array(),
// TRANS: Menu item in personal group navigation menu.
_m('MENU','Home'),
// TRANS: Menu item title in personal group navigation menu.
// TRANS: %s is a username.
_('Back to top'),
'nav_return_top');
Event::handle('EndHomeStubNavItems', array($this->action, &$items));
}
return Null;
return $items;
}
}

View File

@ -150,8 +150,9 @@ class Menu extends Widget
function submenu($label, $menu)
{
if(!$menu->getItems())
return;
if (empty($menu->getItems())){
return false;
}
$this->action->elementStart('li');
$this->action->element('h3', null, $label);
$menu->show();