我是yii2的新人。我试图创建自己的引导程序导航菜单栏,但我遇到了这个问题。
Escenario: 使用yii2使用其小部件yii \ bootstrap \ 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&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&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 :(得分: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)