diff --git a/plugins/CoreHome/javascripts/menu.js b/plugins/CoreHome/javascripts/menu.js index 2f3a78a045b9fcf27794f47d4b1090b133620bed..04be00227a055606d9007fb4a103b53c8cc18df4 100644 --- a/plugins/CoreHome/javascripts/menu.js +++ b/plugins/CoreHome/javascripts/menu.js @@ -56,9 +56,6 @@ menu.prototype = var href = link.attr('href'); if (!href) { - if (main_menu && !$this.find('li').length) { - $this.hide(); // no link and no child menu items -> hide it - } return; } var url = href.substr(1); diff --git a/plugins/CoreHome/templates/_menu.twig b/plugins/CoreHome/templates/_menu.twig index 81cb0f9a9f08b3ee8c7a03e5f25cf1b9d4cf79cd..0a6ec2d78dc63efbfdee474548677e4e690f7987 100644 --- a/plugins/CoreHome/templates/_menu.twig +++ b/plugins/CoreHome/templates/_menu.twig @@ -34,31 +34,44 @@ {%- endif %} {%- endmacro %} -{% macro menu(menu, anchorlink, cssClass) %} +{% macro menu(menu, anchorlink, cssClass, hideCategoriesWithNoMenuItems) %} <div id="secondNavBar" class="{{ cssClass }}"> <div id="search"> <div piwik-quick-access class="borderedControl"></div> </div> <ul class="navbar"> {% for level1,level2 in menu %} - <li id="{% if level2._url is defined and level2._url is not empty %}{{ _self.getId(level2._url) }}{% endif %}" class="menuTab"> + {% set hasMainCategoryUrl = level2._url is defined and level2._url is not empty %} - <a class="item" {% if level2._url is defined and level2._url is not empty %}href="{% if anchorlink %}#{% else %}index.php?{% endif %}{{ _self.getFirstUrl(level2._url) }}"{% endif %}> - <span class="menu-icon {{ level2._icon|default('icon-arrow-right') }}"></span>{{ level1|translate }} - <span class="hidden"> - {{ 'CoreHome_Menu'|translate }} - </span> - </a> - <ul> - {% for name,urlParameters in level2 %} - {% if urlParameters._url is defined and urlParameters._url is not iterable %} - {{ _self.groupedItem(name,urlParameters._url, anchorlink) }} - {% elseif name|slice(0,1) != '_' %} - {{ _self.submenuItem(name,urlParameters._url, anchorlink) }} - {% endif %} - {% endfor %} - </ul> - </li> + {% set hasSubmenuItem = false %} + {% for name,urlParameters in level2 %} + {% if urlParameters._url is defined and urlParameters._url is not iterable %} + {% set hasSubmenuItem = true %} + {% elseif name|slice(0,1) != '_' %} + {% set hasSubmenuItem = true %} + {% endif %} + {% endfor %} + + {% if hasMainCategoryUrl or hasSubmenuItem %} + <li id="{% if level2._url is defined and level2._url is not empty %}{{ _self.getId(level2._url) }}{% endif %}" class="menuTab"> + + <a class="item" {% if hasMainCategoryUrl %}href="{% if anchorlink %}#{% else %}index.php?{% endif %}{{ _self.getFirstUrl(level2._url) }}"{% endif %}> + <span class="menu-icon {{ level2._icon|default('icon-arrow-right') }}"></span>{{ level1|translate }} + <span class="hidden"> + {{ 'CoreHome_Menu'|translate }} + </span> + </a> + <ul> + {% for name,urlParameters in level2 %} + {% if urlParameters._url is defined and urlParameters._url is not iterable %} + {{ _self.groupedItem(name,urlParameters._url, anchorlink) }} + {% elseif name|slice(0,1) != '_' %} + {{ _self.submenuItem(name,urlParameters._url, anchorlink) }} + {% endif %} + {% endfor %} + </ul> + </li> + {% endif %} {% endfor %} </ul> </div> diff --git a/plugins/Morpheus/templates/admin.twig b/plugins/Morpheus/templates/admin.twig index 7ebadaad094ea147776ab006df9bc2390d03ced9..b340f0af6f0ec4478207debe02a9418b94d60b2f 100644 --- a/plugins/Morpheus/templates/admin.twig +++ b/plugins/Morpheus/templates/admin.twig @@ -26,7 +26,7 @@ {% if showMenu is not defined or showMenu %} {% import '@CoreHome/_menu.twig' as menu %} - {{ menu.menu(adminMenu, false, 'Menu--admin') }} + {{ menu.menu(adminMenu, false, 'Menu--admin', true) }} {% endif %} <div class="pageWrap"> diff --git a/plugins/Morpheus/templates/dashboard.twig b/plugins/Morpheus/templates/dashboard.twig index afccc7bd4c15caabff1b5fc631fd067e8f0834cc..4b0e252b006e7ca68f9a9e2ffdc665d734f2ca35 100644 --- a/plugins/Morpheus/templates/dashboard.twig +++ b/plugins/Morpheus/templates/dashboard.twig @@ -34,7 +34,7 @@ {% if (menu is defined and menu) %} {% import '@CoreHome/_menu.twig' as menuMacro %} - {{ menuMacro.menu(menu, true, 'Menu--dashboard') }} + {{ menuMacro.menu(menu, true, 'Menu--dashboard', true) }} {% endif %} <div class="pageWrap"> diff --git a/plugins/Morpheus/templates/user.twig b/plugins/Morpheus/templates/user.twig index d69823db39af331f34378321e0ea1f267fee2417..392b3080869c960b37a5a7d860a798e7105d176d 100644 --- a/plugins/Morpheus/templates/user.twig +++ b/plugins/Morpheus/templates/user.twig @@ -28,7 +28,7 @@ {% if showMenu is not defined or showMenu %} {% import '@CoreHome/_menu.twig' as menu %} - {{ menu.menu(userMenu, false, 'Menu--admin') }} + {{ menu.menu(userMenu, false, 'Menu--admin', true) }} {% endif %} <div class="pageWrap">