2016-12-20 9 views
0

Im new in yii2. Я пытаюсь создать свою собственную панель меню навигации для начальной загрузки, но у меня возникла эта проблема..Yii2 создание навигационного меню без виджета

Escenario: При использовании yii2 с помощью своего виджета YII \ самозагрузки \ NavBar это отображается следующее меню HTML:

NavBar::begin([ 
'brandLabel' => 'PLATAFORMA 3.0.0 BACKEND '. \app\models\Clientes::findOne(Yii::$app->params["id_cliente"])->nombre." (". \app\models\Proyectos::findOne(Yii::$app->params["id_proyecto"])->nombre.")", 
'brandUrl' => Yii::$app->homeUrl, 
'options' => [ 
    'class' => 'navbar-inverse navbar-fixed-top', 
], 
]); 
..... 
echo Nav::widget([ 
'options' => ['class' => 'navbar-nav navbar-right'], 
'items' => $menuItems, 
]); 
NavBar::end(); 

     <nav id="w0" class="navbar-inverse navbar-fixed-top navbar" role="navigation"> 
      <div class="container"> 
       <div class="navbar-header"> 
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#w0-collapse"> 
         <span class="sr-only">Toggle navigation</span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
        </button> 
        <a class="navbar-brand" href="/index.php">PLATAFORMA 3.0.0 BACKEND Axtel (axtel_experto)</a> 
       </div> 
       <div id="w0-collapse" class="collapse navbar-collapse"> 
        <ul id="w1" class="navbar-nav navbar-right nav"> 
         <li class="active"> 
          <a href="/index.php?r=site%2Findex">Home</a> 
         </li> 
         <li class="dropdown"> 
          <a class="dropdown-toggle" href="#" data-toggle="dropdown">Configuración 
           <b class="caret"></b> 
          </a> 
          <ul id="w2" class="dropdown-menu"> 
           <li> 
            <a href="/index.php?r=canales%2Findex" tabindex="-1">Canales</a> 
           </li> 
           <li> 
            <a href="/index.php?r=productos%2Findex&amp;from_licencias=0" tabindex="-1">Productos</a> 
           </li> 
           <li> 
            <a href="/index.php?r=atributos%2Findex" tabindex="-1">Atributos</a> 
           </li> 
           <li> 
            <a href="/index.php?r=proyectos%2Findex" tabindex="-1">Proyecto</a> 
           </li> 
           <li> 
            <a href="/index.php?r=proyectos-atributos%2Findex" tabindex="-1">Proyectos-Atributos</a> 
           </li> 
          </ul> 
         </li> 
         <li> 
          <a href="/index.php?r=casos%2Findex&amp;from_usuarios=0">Casos</a> 
         </li> 
         <li> 
          <a href="/index.php?r=usuarios%2Findex">Usuarios</a> 
         </li> 
         <li class="dropdown"> 
          <a class="dropdown-toggle" href="#" data-toggle="dropdown">Conocimiento 
           <b class="caret"></b> 
          </a> 
          <ul id="w3" class="dropdown-menu"> 
           <li> 
            <a href="/index.php?r=conocimiento%2Findex" tabindex="-1">Artículos</a> 
           </li> 
           <li> 
            <a href="/index.php?r=conocimiento-categorias%2Findex" tabindex="-1">Categorías</a> 
           </li> 
           <li> 
            <a href="/index.php?r=subcategorias%2Findex" tabindex="-1">Subcategorias</a> 
           </li> 
           <li> 
            <a href="/index.php?r=secciones%2Findex" tabindex="-1">Secciones</a> 
           </li> 
           <li> 
            <a href="/index.php?r=subsecciones%2Findex" tabindex="-1">Subsecciones</a> 
           </li> 
          </ul> 
         </li> 
         <li> 
          <a href="/index.php?r=site%2Flogout" data-method="post">Logout (admin)</a> 
         </li> 
        </ul> 
       </div> 
      </div> 
     </nav> 

Он отлично работает. Чтобы создать свой собственный навигатор, используя простой html, я решил распечатать этот html-snipet, я не знаю, почему он не работает таким образом. Это хорошо отображается, но когда я нажимаю на элемент, который должен показывать подменю, он ничего не делает.

Я думаю, что этот виджет вызывает некоторый js-код, который обрабатывает элементы подменю. Я не смог его найти.

Thnx за вашу помощь заранее.

ответ

0
/** 
* Renders the widget. 
*/ 
public function run() 
{ 
    $tag = ArrayHelper::remove($this->containerOptions, 'tag', 'div'); 
    echo Html::endTag($tag); 
    if ($this->renderInnerContainer) { 
     echo Html::endTag('div'); 
    } 
    $tag = ArrayHelper::remove($this->options, 'tag', 'nav'); 
    echo Html::endTag($tag); 
    BootstrapPluginAsset::register($this->getView()); 
} 

Этот виджет регистрирует BootstrapPluginAsset, которая содержит public $js = ['js/bootstrap.js'] (here)

 Смежные вопросы

  • Нет связанных вопросов^_^