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;
    }