2016-12-20 1 views
0

yii2의 새로운 기능. 내 자신의 부트 스트랩 탐색 메뉴 모음을 만들려고하지만이 문제가 있어요..Yii2 위젯없이 탐색 메뉴 생성

Escenario : 의 위젯 YII \ 부트 스트랩 \ Navbar의이 표시 다음 HTML 메뉴를 사용하여 yii2 사용하는 동안은 :

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을 사용하여 내 navbar를 만들려면이 HTML 스 니펫을 인쇄하기로 결정했습니다. 왜 이렇게 작동하지 않는지는 알 수 없습니다. 그것은 잘 표시되지만 하위 메뉴를 표시해야합니다 항목에 마우스를 올리면 아무것도하지 않습니다.

이 위젯이 하위 메뉴 항목을 처리하는 일부 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()); 
} 

이 위젯 public $js = ['js/bootstrap.js'] (here)

포함하는 레지스터 BootstrapPluginAsset