Здравствуйте! Подскажите, пожалуйста. Joomla 3. Добавил на сайт меню. Шаблон родной - Protostar. В модуле меню добавил стили nav nav-pills. При загрузке главной страницы, активным горит первый пункт меню - Главная страница. Нажимаю перейти на другой пункт - на другую страницу переходит (Новости), но активным остается первый главный пункт. Что за фигня такая? Смотрю в Хромовском Firebug , таки - да - активным почему-то остается первый пункт. Вот фрагмент Хрома: Для первого пункта горит все время этот стиль А для второго этот Независимо от того, какая страница активна. В-общем вижу, что стилевой класс current переключается, а должен включаться current active. Почему он не включается, ума не приложу? На том же шаблоне учебный сайт - все работает.
? Ну да. Ситуация. Активна первая страница Первый пункт - default current active Второй пункт - пусто Активна вторая страница Первый пункт - default active Второй пункт - current И остается подсвечивать первый пункт (он же остался active). Какой-то косяк в скриптах на меню? Я тут разные шаблоны менял перед этим, в том числе T3. Может оно там где-то подменило скрипт для меню? Переобновил поверх Джумлу - не помогло. Спасибо Вам за ответ. Вы единственный бессменный помощник. Убрал nav-pills. Стиль пропал, но с active та же фигня.
А тип пункта меню не разделитель ? Был такой трабл с подсветкой пункта меню, а вот решение забыл . Нужно копать в сторону логики модуля меню. Можно переопределить шаблон модуля в свой шаблон , и тестить.
Ну вообще уже достаточно давно, текущий пункт(то бишь тот пункт меню id которого или id привязного пункта, если типа пункта "псевдоним пункта меню" совпадает с параметром Itemid ) меню current а не active За это отвечает следующая строчка в макете модуля Код (PHP): if ($item->id == $active_id || ($item->type === 'alias' && $item->params->get('aliasoptions') == $active_id)) { $class .= ' current'; } https://github.com/joomla/joomla-cms/blob/staging/modules/mod_menu/tmpl/default.php#L33 Излечить это довольно таки просто. Просто переопределяешь default.php и меняешь current на active
Первый пункт меню - материал. Второй пункт меню - блог (вывод материалов определенной категории). Все стандартно и прозрачно. Все стили страниц - по умолчанию для protostar. Такое впечатление, что глючит браузер ). Но на сайте, что лежит на локалке, такой фигни нет. Короче, попытался активировать меню на демо-сайте (третьем). Там такая же фигня. Это происходит после установки шаблона с сайта Templatemonster... Они там все однотипные и чего-то переписывают в базовых скриптах.... Чувствую себя обезьяной. Надо сначала, видимо, изучить фреймворк (типа Yii), потом Javascript, а потом уже садится за Joomla, чтобы не чувствовать себя идиотом. А то что они пишут - вот так просто - смс-ка, прочтите руководство и ваяйте сайты. Ну да, что-то простое как попа папуаса вы сваяете. А только шаг в сторону и "поделки" активного интернет-сообщества попробуете прикрутить - начинаются костыли и грабли...
Спасибо за грамотный ответ. Я правильно понял - косяк заложен в базовой поставке Joomla и это надо "лечить"? И что, все лечат? Или я что-то не так создал?
Ну если говорить о всех, то все делают шаблоны со своими переопределенными. Что же до косяка, то я бы несказал что класс current это косяк. А вот то что у path не правильный возможно и косяк. Я просто не работаю ни со стандартным ни с готовыми шаблонами, так что это даже не замечаю
Кстати, если говорить о ID классов, то я, по наитию, воткнул принудительно ID для модуля меню, поставил 10 от фонаря - но не помогло. Т.е. о каком-то случайном совпадении ID речь не идет. Я подробно еще не вник, но косяк в ядре - это нормально. Странно. Очевидная вроде вещь.
Я сейчас посмотрел, на дефолтном шаблоне все порядке присваивается оба класса (item-102 current active) Ну а для того чтобы понять баг ли это, надо смотреть что к этому привело. Зачастую это ошибка твоей структуры.