2016-12-20 8 views
0

Ich bin neu in yii2. Ich versuche, meine eigene Bootstrap-Navigationsmenüleiste zu erstellen, aber ich habe dieses Problem..Yii2 Erstellen von Nav-Menü ohne Widget

Escenario: Während seiner Widget mit mit yii2 yii \ Bootstrap \ NavBar es die folgende HTML-Menü angezeigt werden:

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> 

Es funktioniert gut. Um meine eigene navbar mit plain html zu erstellen, habe ich mich entschieden, dieses html snipet zu drucken, ich weiß nicht, warum es so nicht funktioniert. Es ist gut angezeigt, aber wenn ich auf ein Element schweben, das ein Untermenü anzeigen muss, tut es nichts.

Ich denke, dass dieses Widget einige js Code auslöst, der die Untermenüpunkte behandelt. Ich kann es nicht finden.

Thnx für Ihre Hilfe im Voraus.

Antwort

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

Widget Register BootstrapPluginAsset, die public $js = ['js/bootstrap.js'] enthält (here)