Задача: сделать активной нужную вкладку nav-tabs
в зависимости от текущего контроллера.
Пример реализации без виджета
<?php // Делаем активной нужную вкладку $activeTab = function ($controller) { return $controller === $this->context->getUniqueId() ? 'active' : ''; }; ?> <ul class="nav nav-tabs"> <li class="<?=$activeTab('search')?>"> <a href="#search" data-toggle="tab">Поиск</a> </li> <li class="<?=$activeTab('catalog')?>"> <a href="#catalog" data-toggle="tab">Каталог</a> </li> </ul>
и через виджет
$user = Yii::$app->getUser(); $checkController = function ($controller) { return $controller === $this->context->getUniqueId(); }; echo Menu::widget([ 'items' => [ [ 'label' => 'Поиск', 'url' => ['/search/index'], 'active' => $checkController('search') ], [ 'label' => 'Каталог', 'url' => ['/catalog/index'], // можно также скрыть вкладку при необходимости 'visible' => $user->can('catalog.index'), 'active' => $checkController('catalog') ], ] ]);
Смотрите также как выделить активные пункты меню.