public function run() { $widgetHtml = ''; if ($this->enableHoverDropDown) { $widgetHtml .= <<<TEXT \t\t\t<style> \t\t\tul.nav li.dropdown:hover ul.dropdown-menu{ \t\t\t\tdisplay: block; \t\t\t\tmargin-top:0px \t\t\t} \t\t\t</style> TEXT; } $widgetHtml .= <<<TEXT <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cms-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div class="collapse navbar-collapse" id="cms-navbar-collapse-1"> \t\t<ul class="nav navbar-nav"> TEXT; /* @var $simpleHierarchyItem SimpleHierarchyItem */ $simpleHierarchyItem = NavigationController::getRootHierarchyItemCached($this->languageId); $areaDropDownClasses = ''; $areaDropDownAttributes = ''; if ($this->displayRootItem) { $widgetHtml .= '<li>' . $simpleHierarchyItem->getLinkTag() . '</li>'; } if (!$this->enableHoverDropDown) { $areaDropDownClasses = 'dropdown-toggle'; $areaDropDownAttributes = ' data-toggle="dropdown" '; } foreach ($simpleHierarchyItem->getAllChildren() as $areaItem) { if (count($areaItem->children) > 0) { $widgetHtml .= '<li class="dropdown">' . $areaItem->getLinkTag($areaDropDownClasses, $areaDropDownAttributes . ' role="button" aria-expanded="false"', '<span class="caret"></span>') . '<ul class="dropdown-menu" role="menu">'; foreach ($areaItem->getAllChildren() as $areaChildItem) { $widgetHtml .= '<li>' . $areaChildItem->getLinkTag() . '</li>'; } $widgetHtml .= '</ul></li>'; } else { $widgetHtml .= '<li>' . $areaItem->getLinkTag() . '</li>'; } } $widgetHtml .= <<<TEXT \t</ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> TEXT; $widgetHtml .= ''; return $widgetHtml; }
/** * display the hierarchy tree of all items with display state 'visible' and for the current language * @menuLabel display hierarchy tree as xml * @menuIcon <span class="glyphicon glyphicon-list-alt"></span> */ public function actionPageTreeAsXml() { $currentLanguageId = Yii::$app->controller->module->getLanguageManager()->getLanguageIdForString(Yii::$app->language); $simpleHierarchyItem = NavigationController::getRootHierarchyItemCached($currentLanguageId); Yii::$app->response->format = \yii\web\Response::FORMAT_RAW; $headers = Yii::$app->response->headers; $headers->add('Content-Type', 'text/xml; charset=utf-8'); Yii::$app->response->charset = 'UTF-8'; return $simpleHierarchyItem->getAsXmlString(); }
public function run() { $widgetHtml = '<ul class="cms-sitemap-level-0">' . PHP_EOL; /* @var $rootHierarchyItem SimpleHierarchyItem */ $rootHierarchyItem = NavigationController::getRootHierarchyItemCached($this->languageId, false, false); if ($this->displayRootItem) { $widgetHtml .= '<li class="cms-sitemap-level-0">' . $rootHierarchyItem->getLinkTag(); } $this->renderChildrenRecursive($rootHierarchyItem, 1, $this->levelDepth, $widgetHtml); if ($this->displayRootItem) { $widgetHtml .= '</li>' . PHP_EOL; } $widgetHtml .= '</ul>' . PHP_EOL; return $widgetHtml; }
public function run() { $activeLiClassAttribute = ' class="' . $this->activeItemLiClass . '"'; $widgetHtml = ''; if ($this->enableHoverDropDown) { $widgetHtml .= <<<TEXT \t\t\t<style> \t\t\tul.nav li.dropdown:hover ul.dropdown-menu{ \t\t\t\tdisplay: block; \t\t\t\tmargin-top:0px \t\t\t} \t\t\t</style> TEXT; } $widgetHtml .= <<<TEXT <nav class="{$this->navElementClasses}"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cms-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> TEXT; $widgetHtml .= $this->navbarBrand; $widgetHtml .= <<<TEXT </div> <div class="collapse navbar-collapse" id="cms-navbar-collapse-1"> \t\t<ul class="{$this->mainULElementClasses}"> TEXT; /* @var $simpleHierarchyItem SimpleHierarchyItem */ $simpleHierarchyItem = NavigationController::getRootHierarchyItemCached($this->languageId); $areaDropDownClasses = ''; $areaDropDownAttributes = ''; if ($this->displayRootItem) { $widgetHtml .= '<li' . ($this->activeItemId == $simpleHierarchyItem->id || key_exists($simpleHierarchyItem->id, $this->pathToRoot) ? $activeLiClassAttribute : '') . '>' . $simpleHierarchyItem->getLinkTag() . '</li>'; } if (!$this->enableHoverDropDown) { $areaDropDownClasses = 'dropdown-toggle'; $areaDropDownAttributes = ' data-toggle="dropdown" '; } foreach ($simpleHierarchyItem->getAllChildren() as $areaItem) { if (count($areaItem->children) > 0) { $widgetHtml .= '<li class="dropdown' . ($this->activeItemId == $areaItem->id || key_exists($areaItem->id, $this->pathToRoot) ? ' ' . $this->activeItemLiClass : '') . '">' . $areaItem->getLinkTag($areaDropDownClasses, $areaDropDownAttributes . ' role="button" aria-expanded="false"', '<span class="caret"></span>') . '<ul class="dropdown-menu" role="menu">'; foreach ($areaItem->getAllChildren() as $areaChildItem) { $widgetHtml .= '<li' . ($this->activeItemId == $areaChildItem->id || key_exists($areaChildItem->id, $this->pathToRoot) ? $activeLiClassAttribute : '') . '>' . $areaChildItem->getLinkTag() . '</li>'; } $widgetHtml .= '</ul></li>'; } else { $widgetHtml .= '<li' . ($this->activeItemId == $areaItem->id || key_exists($areaItem->id, $this->pathToRoot) ? $activeLiClassAttribute : '') . '>' . $areaItem->getLinkTag() . '</li>'; } } $widgetHtml .= <<<TEXT \t\t{$this->appendedNavBlock} \t</ul> {$this->appendAfterUL} </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> TEXT; $widgetHtml .= ''; return $widgetHtml; }