<nav id="mainMenu" class="mainMenu">
<ul>
{foreach from=$__wcf->getPageMenu()->getMenuItems('header') item=menuItem}
- <li><a href="{$menuItem->menuItemLink}">{$menuItem->menuItem} ({#$menuItem->getProcessor()->getNotifications()})</a>
+ <li{if $__wcf->getPageMenu()->getActiveMenuItem() == $menuItem->menuItem} class="activeMenuItem"{/if}><a href="{$menuItem->menuItemLink}">{$menuItem->menuItem}</a> <span class="badge">{#$menuItem->getProcessor()->getNotifications()}</span>
{if $__wcf->getPageMenu()->getMenuItems($menuItem->menuItem)|count > 0}
<ul>
{foreach from=$__wcf->getPageMenu()->getMenuItems($menuItem->menuItem) item=subMenuItem}
- <li><a href="{$subMenuItem->menuItemLink}">{$subMenuItem->menuItem} ({#$subMenuItem->getProcessor()->getNotifications()})</a></li>
+ <li><a href="{$subMenuItem->menuItemLink}">{$subMenuItem->menuItem}</a> <span class="badge">{#$subMenuItem->getProcessor()->getNotifications()}</span></li>
{/foreach}
</ul>
{/if}
<?php
namespace wcf\system\menu\page;
use wcf\data\page\menu\item\PageMenuItem;
+use wcf\system\event\EventHandler;
use wcf\system\menu\TreeMenu;
use wcf\system\menu\ITreeMenuItem;
use wcf\system\cache\CacheHandler;
* @category Community Framework
*/
class PageMenu extends TreeMenu {
+ /**
+ * @see wcf\system\SingletonFactory::init()
+ */
+ protected function init() {
+ // get menu items from cache
+ $this->loadCache();
+
+ // check menu items
+ $this->checkMenuItems('header');
+ $this->checkMenuItems('footer');
+
+ // build plain menu item list
+ $this->buildMenuItemList('header');
+ $this->buildMenuItemList('footer');
+
+ // call init event
+ EventHandler::getInstance()->fireAction($this, 'init');
+ }
+
/**
* @see wcf\system\menu\TreeMenu::loadCache()
*/