Вы здесь

Как правильно назначить active-trail одинаковым ссылкам в меню

0

Есть меню:
1. Сайты
1.1. Создание
1.2. Портфолио
2. Реклама
2.1. Размещение
2.2. Портфолио
3. Портфолио

Все три Портфолио имеют один адрес. И по какой ссылке не переходить, попадаешь в "3. Портфолио".
Друпал присваивает active-trail первой обнаруженной ветке (поправьте, если не прав).
Как бы ни попал посетитель на "3. Портфолио", активной будет ветка 1. Сайты - 1.2. Портфолио.
По идее нужно, чтобы активной всегда была "3. Портфолио".
Дело не только в CSS и классе active-trail, но и в логике построения вторичных меню: для подобных страниц они выстраиваются так, словно посетитель находится на 1.2. Порфолио.

И тут возникает собственно вопрос, как обойти схему Друпала.
Либо принудительно: если пользователь попадает на "3. Портфолио" жестко привязывать активную ветку именно ему. Либо как-то подменять вторичные ссылки 1.2. и 2.2. - какими-то псевдоссылками.
Выстраивать active-trail в зависимости от того, как посетитель пришел в "3. Портфолио", не требуется (если это вообще возможно).

К сожалению, это только общие идеи, а решений не нашел.
Такое впечатление, что никто не пользуется повторяющимися пунктами меню )

Версия Drupal: 
7.x
Категория: 
Menu APITheming
Вопрос задан 01.04.2016 - 09:25

Ответы

0

Сделайте нужные классы через theme_menu_link.

Ответ дан 01.04.2016 - 21:10

Одинаковые ссылки в одном меню плохо.
По мне единственный нормальный подход повесить на get.

Если нужно что бы всегда подсвечивался первый уровень в случаи с "Портфолио".
Нужно альтерить, все переменные там есть.

Комментарий оставлен 03.04.2016 - 21:48