Yii2禁用突出显示菜单项

时间:2015-03-07 11:14:51

标签: menu widget yii2

我的main.php代码

<?php
        NavBar::begin([
            'brandLabel' => 'Styl-dekoracje.pl',
            'brandUrl' => Yii::$app->homeUrl,
            'options' => [
                'class' => 'navbar-inverse navbar-fixed-top',
            ],
        ]);
        echo Nav::widget([
            'options' => ['class' => 'navbar-nav navbar-right'],
            'items' => [
                ['label' => 'Home', 'url' => ['/site/index']],
                ['label' => 'Orders', 'url' => ['/order']],
                Yii::$app->user->isGuest ?
                    ['label' => 'Login', 'url' => ['/site/login']] :
                    ['label' => 'Logout (' . Yii::$app->user->identity->username . ')',
                        'url' => ['/site/logout'],
                        'linkOptions' => ['data-method' => 'post']],
            ],
        ]);
        NavBar::end();
    ?>

当我点击登录/注销或家庭项目时,它将突出显示。但是如何禁用SiteController的突出显示?将项目设置为活动的文件在哪里?

3 个答案:

答案 0 :(得分:4)

每个项目insive Nav都有active属性。

根据当前控制器,操作或路线进行设置。

示例:

[
    'label' => 'Login', 
    'url' => ['/site/login'],
    'active' => $this->context->route == 'site/login',
],

site/logout设置此功能并不合理,因为它可以通过重定向立即采取行动。

官方文档:

答案 1 :(得分:0)

我不熟悉Yii2,但在Yii中有一个 activeCssClass 选项。

'activeCssClass' => ''

上面的代码消除了活动菜单项的高亮显示。

答案 2 :(得分:0)

您可以使用Url::to()使其正常工作。这只是一种解决方法。

<?php
    NavBar::begin([
        'brandLabel' => 'Styl-dekoracje.pl',
        'brandUrl' => Yii::$app->homeUrl,
        'options' => [
            'class' => 'navbar-inverse navbar-fixed-top',
        ],
    ]);
    echo Nav::widget([
        'options' => ['class' => 'navbar-nav navbar-right'],
        'items' => [
            ['label' => 'Home', 'url' => Url::to(['/site/index'])],
            ['label' => 'Orders', 'url' => Url::to(['/order'])],
            Yii::$app->user->isGuest ?
                ['label' => 'Login', 'url' => Url::to(['/site/login'])] :
                ['label' => 'Logout (' . Yii::$app->user->identity->username . ')',
                    'url' => Url::to(['/site/logout']),
                    'linkOptions' => ['data-method' => 'post']],
        ],
    ]);
    NavBar::end();
?>