Yii2禁用突出显示菜单项 [英] Yii2 disable highlighting menu item

查看:70
本文介绍了Yii2禁用突出显示菜单项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的main.php代码

My main.php code

<?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的突出显示?将项目设置为活动的文件在哪里?

When I click for login/logout or home item its will be highlight. But how can I disable highlighting for SiteController? Where is file who set item as active?

推荐答案

每个项目Nav具有active属性.

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

Set it depending on current controller, action, or route.

示例:

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

site/logout设置此设置没有任何意义,因为这是带有重定向的立即操作.

Setting this for site/logout doesn't make sense because it's immediate action with redirect.

官方文档:

  • Nav $items
  • View $context
  • Controller $route

这篇关于Yii2禁用突出显示菜单项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆