<div class="header-desktop clearfix"> <div class="colf12x4"> <?php echo Html::a("<img class='logo' src='" . Yii::getAlias('@images') . "/logo.png'>", ['/cmgcore/user/home'], null); ?> </div> <div class="colf12x8"> <?php echo BasicNav::widget(['options' => ['class' => 'nav-main'], 'items' => $privateMenuItems]); ?> </div> </div> <div class="header-mobile clearfix"> <div id="btn-mobile-menu"> <span class="fa fa-3x fa-bars"></span> </div> <?php echo Html::a("<img class='logo' src='" . Yii::getAlias('@images') . "/logo.png'>", ['/cmgcore/user/home'], null); ?> <?php echo BasicNav::widget(['options' => ['class' => 'nav-main', 'id' => 'nav-mobile'], 'items' => $privateMenuItemsMobile]); ?> </div> <div id="box-settings" class='popout-header'> <?php echo BasicNav::widget(['options' => ['class' => 'nav-settings'], 'items' => $settingsMenuItems]); ?> </div> </header> <?php }
public function renderItems() { $user = Yii::$app->user->getIdentity(); $menu = MenuService::findBySlug($this->slug); $pageSlug = Yii::$app->request->get('slug'); if (isset($menu) && $menu->active) { $pageLinks = MenuService::getPageLinks($menu, true); $pageLinks = array_keys($pageLinks); $pages = PageService::getMenuPages($pageLinks, true); $menuItems = $menu->generateObjectFromJson(true); $menuItems = $menuItems->links; $absoluteUrl = Yii::$app->request->absoluteUrl; foreach ($menuItems as $menuItem) { if (strcmp($menuItem['type'], CmsGlobal::TYPE_PAGE) == 0) { $link = new PageLink($menuItem); $item = null; $address = null; if (isset($pages[$link->pageId])) { $page = $pages[$link->pageId]; if ($page->isPublic() || isset($user)) { if (strcmp($page->slug, 'home') == 0) { $address = Url::toRoute(["/"]); } else { $address = Url::toRoute(["/{$page->slug}"]); } $item = ['url' => $address, 'label' => $page->name, 'icon' => $page->icon]; if (isset($link->options)) { $item['options'] = json_decode($link->options); } if (isset($pageSlug) && strcmp($pageSlug, $page->slug) == 0) { $item['options'] = ['class' => 'active']; } $this->items[] = $item; } } } else { if (strcmp($menuItem['type'], CmsGlobal::TYPE_LINK) == 0) { $link = new Link($menuItem); $item = null; $address = null; if (strlen($link->label) > 0) { if ($link->isPublic() || isset($user)) { if ($link->relative) { // Clean URL if first character is slash if (substr($link->address, 0, 1) == "/") { $link->address = substr($link->address, 1); } $address = Url::toRoute(["/{$link->address}"], true); } else { $address = $link->address; } $item = ['url' => $address, 'label' => $link->label, 'icon' => $link->icon]; if (isset($link->options)) { $item['options'] = json_decode($link->options); } if (strcmp($address, $absoluteUrl) == 0) { $item['options'] = ['class' => 'active']; } $this->items[] = $item; } } } } } } return parent::renderItems(); }