Задать вопрос

Как заменить ссылку на текст если страница активна YII2?

Доброго времени суток, господа-разработчики!

Хочу реализовать на сайте такой функционал: если пользователь находится на странице - то ссылка в меню на становится текстом, т.е. по ней уже нельзя кликнуть.

Я конечно могу к каждой ссылке создать условие сравнения урла и ссылки меню. И уже исходя из этого условия отдавать пункт меню как ссылку или текст.

Мне кажется, что это не совсем оптимальный вариант. Может в YII2 есть какая-нибудь функция или правило в urlManager, которая просто реализует подобный функционал?

Спасибо!
  • Вопрос задан
  • 293 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
berezuev
@berezuev
#define TRUE FALSE
Afaik Стандартный виджет меню это делает по умолчанию.

UPD:
вот примерно так делается:
$menuItems = [
    ['label' => 'Home', 'url' => ['/'], 'active' => $this->context->route == 'site/index'],
    ['label' => 'About', 'url' => ['/about'], 'active' => $this->context->route == 'site/about'],
    ['label' => 'Projects', 'url' => ['/projects'], 'active' => $this->context->route == 'site/projects'],
];
Ответ написан
Ваш ответ на вопрос

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

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