[drupal] Меню с подсветкой активных primary при выборе из secondary
Здравствуйте, передо мной стоит следующая проблема:
Необходимо сделать так, чтобы при выборе пункта из основного меню, если у него есть подменю с подпунктами, при выборе одного из подпунктов, выделение на основном пункте не сбрасывалось, типа как на сайте apple.com, то есть таким образом мы будем видеть, где мы находимся, в каком разделе основного меню, если нажали на один из пунктов подменю! Помогите, пожалуйста, решить эту задачу, кто сталкивался, СПАСИБО.
Похожие темы
Разделы форума
- Привлечение посетителей
- Интернет-магазины и корпоративные сайты
- Контент-проекты и сообщества
- Монетизация сайтов
- Реальные примеры, истории успеха
- Футурология и тренды
- Юридические и финансовые вопросы
- Тестирование сайтов, советы
- Технические вопросы
- Технические аспекты SEO
- Хостинг
- Реклама компаний и сервисов
- Объявления фрилансеров
- Работа, поиск исполнителей
- Сайты ищут рекламодателей
- Об этом сайте
Теги к теме [drupal] Меню с подсветкой активных primary при выборе из secondary
А что за CMS то у Вас?
Я сталкивался с этим в Wordpress. Там текущий пункт меню и родительский пункт отмечаются в коде классом (current_page_item и current_page_parent), соответсвенно в CSS этому классу приваиваем характеристики и получаем выделенный пункт меню в обоих случаях.
Ой, извините... DRUPAL
Про current можно поподробнее... интуитивно кажется что это то, что нужно, но на Drupal пожалуйста!
Напишите HTML код, который у вас получается при полном развороте.
Тогда будем думать над стилями.
Вот код который получается:
<div id="primary">"
<ul class="links" id="navlist">
<li class="menu-262 first"><a href="/about" title="О компании"><span>О компании</span></a></li>
<li class="menu-268 active-trail active"><a href="/computers" title="Продажа компьютеров" class="active"><span>Компьютеры</span></a></li>
<li class="menu-276 last"><a href="/contact" title="Контакты"><span>Контакты</span></a>
</li>
</ul>
</div>
<div id="header-region">
<div id="block-menu-secondary-links" class="block block-menu">
<ul class="menu">
<li class="leaf first dhtml-menu "><a href="/writes" id="dhtml_menu-522">Статьи</a>
</li>
<li class="leaf last dhtml-menu "><a href="/computers/prices" title="Цены на технику" id="dhtml_menu-305">Цены на технику</a>
</li>
</ul>
</div>
</div>
Это похоже на код, когда выбран один из пунктов меню первого уровня.
Я бы проверил, прописано ли для класса
active-trail
то же, что для просто#primary active
.active-trail
по логике должен оставаться на первом уровне, даже когда загружена страница второго.Данный код скопирован специально со страницы, где активный пункт
<li class="menu-268 active-trail active"><a href="/computers" title="Продажа компьютеров" class="active"><span>Компьютеры</span></a></li>
Когда он активен, у него разворачивается доп меню, которое, вот оно:
<div id="block-menu-secondary-links" class="block block-menu">
<ul class="menu">
<li class="leaf first dhtml-menu "><a href="/writes" id="dhtml_menu-522">Статьи</a>
</li>
<li class="leaf last dhtml-menu "><a href="/computers/prices" title="Цены на технику" id="dhtml_menu-305">Цены на технику</a>
</li>
</ul>
</div>
Мне нужно чтобы при заходе на какой-то из пунктов подменю, активный пункт из primary (в данном коде это "компьютеры") так же подсвечивался, как на странице с которой скопирован код. То есть если зайти например в "Статьи" подсветился и Статьи пункт, как активный, но при этом и подсвечивался "Компьютеры", показывая пользователю, что он находится в разделе компьютеры в статьях, а не просто в статьях.
Дело в том, что на сайте есть повторяющиеся пункты доп меню, и вообще в принципе, для удобства пользователя, логичнее сделать такое меню, которое будет показывать, что мы находимся в ветви одной из главных пунктов...
Как такое осуществить, не подскажете?
Вот меню главное с главной страницы
О компании | Компьютеры | Контакты
Вот мы зашли в "Компьютеры":
О компании | Компьютеры | Контакты
Цены на технику Статьи
Если сейчас мы зайдем в "Статьи" или "Цены на технику" будет так:
О компании | Компьютеры | Контакты
Цены на технику Статьи
А мне надо так:
О компании | Компьютеры | Контакты
Цены на технику Статьи
Как раз про это написал в предыдущем ответе.
Наверное проще будет, если вы прикрепите сюда style.css, а кто-нибудь его поправит и вам вернет. Например, я готов попробовать.
Хорошо, спасибо, Дима... давайте попробуем...
В трех местах дописал строчки про active-trail, попробуйте.
Не получилось, все осталось по прежнему :(
Если вы находитесь на странице "Цены на технику", то в этот момент у верхнего уровня "Компьютеры" есть класс
active-trail
?Дима, спасибо за помощь. Я все решила путем переверстки полностью меню, вывода его по другому, и все заработало!
День мучений и готово :)
Дима, а вы случайно не знаете как в Drupal сделать меню -> подменю -> подподменю, когда есть только то, что есть сейчас после переверстки - меню и подменю... primary и secondary... а третью вложенность как сделать?
Если у вас есть третий уровень, может быть стоит сделать раскрывающееся меню? Например вот этим модулем http://drupal.org/project/nice_menus
А вообще третий уровень в стандартной поставке, насколько я знаю, не предусмотрен. Хотя при желании можно дописать.
Дима, здравствуйте!
Если интересно, то посмотрите, что получилось из тогдашних мучений в изучении друпала и тд)))
www.aurabi.com
Еще раз спасибо за помощь!
Прекрасный кот :)