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

Как выделить активную ссылку меню в Битрикс?

Сайт на Битрикс topliga.ru.
Есть пункты меню "Мужчинам", "женщинам", "детям".

<div class="dop-menu">               
				<ul>
								<li><a href="/women">ЖЕНЩИНАМ</a></li>
								<li><a href="/men">МУЖЧИНАМ</a></li>
								<li><a href="/kids">ДЕТЯМ</a></li>
				</ul>
				</div>


Необходимо выделить активную ссылку (подчеркнуть), которая нажата на данный момент.

Если не ошибаюсь, то этот код должен это делать. Но не работает. Не подскажете, в чем может быть дело?
.dop-menu ul li a:active {
    
    text-decoration: underline;
}
  • Вопрос задан
  • 1427 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
alexfilus
@alexfilus
Senior backend developer
У компонента меню, в массиве для записи совпадающей с текущей страницей есть ключ SELECTED
вот пример
<li<?= !empty($arSubItem['SELECTED']) ? ' class="active"' : '' ?>><a href="<?= $arSubItem['LINK'] ?>"><span><?= $arSubItem['TEXT'] ?></span></a>

Только проверьте чтобы с кешем проблем не было.
Ответ написан
Комментировать
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Если не ошибаюсь, то этот код должен это делать

ошибаетесь. css понятия не имеет какой адрес страницы сейчас у пользователя. Псевдокласс :active нужен для стилизации элемента в момент нажатия на него.

Вам надо или при генерации на сервере, добавлять к активному пункту какой-то класс, например .active и уже его стилизовать в css. Или тоже самое делать в js (парсить url и устанавливать класс)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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