Twitter bootstrap 3 Yii 2中的多级Boostrap菜单

Twitter bootstrap 3 Yii 2中的多级Boostrap菜单,twitter-bootstrap-3,yii2,Twitter Bootstrap 3,Yii2,我想我的菜单有两个以上的水平。看起来Yii 2最多只能渲染2个级别。例如: NavBar::begin(); echo Nav::widget([ 'options' => ['class' => 'navbar-nav navbar-right'], 'items' => [ [ 'label' => 'Level 1', 'items' => [ [

我想我的菜单有两个以上的水平。看起来Yii 2最多只能渲染2个级别。例如:

NavBar::begin();

echo Nav::widget([
    'options' => ['class' => 'navbar-nav navbar-right'],
    'items' => [
        [
            'label' => 'Level 1',
            'items' => [
                ['label' => 'Level 2 - 1', 'url' => '#'],
                ['label' => 'Level 2 - 2', 'url' => '#'],
                [
                    'label' => 'Level 2 - 3',
                    'items' => [
                        ['label' => 'Level 3 - 1', 'url' => '#'],
                        ['label' => 'Level 3 - 2', 'url' => '#'],
                    ],
                ],
            ]
        ],
    ],
]);

NavBar::end();

将不显示级别3-x菜单项。如何向菜单添加更多级别?

这不是Yii 2限制,而是Boostrap 3限制

这里引用了mdo(Boostrap 3的主要贡献者之一)的话:

我们还没有看到任何人以有意义的方式使用子菜单和代码 让它们正常工作所必需的开销太大了。子菜单 只是现在在网络上没有太多的位置,尤其是 移动网络。它们将被3.0删除

它是从一个地方拿走的

但是,您可以找到一些替代方法来使用更多级别。例如,看看这个

此外,还将通过更多细节和示例讨论此问题。

尝试使用
Nav
小部件。

1)在/web/Css/site.Css中添加Css

.dropdown-submenu {
    position: relative;
}
.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
    min-width: 200px;
}
.dropdown-submenu:hover>.dropdown-menu {
    display: block;
}
.dropdown-submenu>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}
.dropdown-submenu:hover>a:after {
    border-left-color: #fff;
}
.dropdown-submenu.pull-left {
    float: none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}
2) 添加子菜单和属性“itemsOptions”、“subnumoptions”、“items”:

...
[
   'label' => 'Level 2 - 3',
   'itemsOptions'=>['class'=>'dropdown-submenu'],
   'submenuOptions'=>['class'=>'dropdown-menu'],
   'items' => [
        ['label' => 'Level 3 - 1', 'url' => '#'],
        ['label' => 'Level 3 - 2', 'url' => '#'],
    ],
],
....
3) 好的