go3l337
@go3l337

Как правильно установить активный пункт в меню Yii2?

Суть такая, есть меню, в нем url ссылок формируется строкой Url::current(['cost' => $i]), пример:
echo Menu::widget([
    'items' => [
['label' => $i, 'url' => Url::current(['cost' => $i])],
],
    'options' => [
        'class' => 'list-inline',
    ],
]);

Из-за того что вместо адреса ['controller/action', 'param1'=>'val1'] стоит строка с текущими параметрами (нужно для фильтрации по контенту), виджет меню не подставляет css класс 'active' к активным пунктам. На данный момент решение такое:
['label' => $i, 'url' => Url::current(['cost' => $i]), 'active' => Yii::$app->request->get('cost') == $i];


Но хотелось бы иметь этот функционал автоматически, есть ли более правильное решение?
  • Вопрос задан
  • 5413 просмотров
Решения вопроса 1
SamDark
@SamDark
Yii2 core team
Из коробки нет, но вы можете всегда сделать app\widgets\Menu extends yii\widgets\Menu.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы