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];


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

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

Войти через центр авторизации
Похожие вопросы