Проблема Не становится активным выбранный пункт меню

Тема в разделе "Ошибки при работе с Joomla", создана пользователем hetman, 02.03.2018.

  1. Offline

    hetman Недавно здесь

    Регистрация:
    28.01.2018
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте!
    Подскажите, пожалуйста.
    Joomla 3. Добавил на сайт меню. Шаблон родной - Protostar.
    В модуле меню добавил стили nav nav-pills. При загрузке главной страницы, активным горит первый пункт меню - Главная страница. Нажимаю перейти на другой пункт - на другую страницу переходит (Новости), но активным остается первый главный пункт. Что за фигня такая? Смотрю в Хромовском Firebug , таки - да - активным почему-то остается первый пункт.
    Вот фрагмент Хрома:
    upload_2018-3-2_0-35-28.png
    Для первого пункта горит все время этот стиль
    upload_2018-3-2_0-36-54.png
    А для второго этот
    upload_2018-3-2_0-37-56.png

    Независимо от того, какая страница активна. В-общем вижу, что стилевой класс current переключается, а должен включаться current active. Почему он не включается, ума не приложу? На том же шаблоне учебный сайт - все работает.
     
  2.  
  3. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    В модуле меню-Базовый пункт меню- Текущий ?
     
  4. Offline

    hetman Недавно здесь

    Регистрация:
    28.01.2018
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской
    ? Ну да.
    Ситуация.
    Активна первая страница
    Первый пункт - default current active
    Второй пункт - пусто
    Активна вторая страница
    Первый пункт - default active
    Второй пункт - current
    И остается подсвечивать первый пункт (он же остался active).

    Какой-то косяк в скриптах на меню? Я тут разные шаблоны менял перед этим, в том числе T3. Может оно там где-то подменило скрипт для меню?
    Переобновил поверх Джумлу - не помогло.
    Спасибо Вам за ответ. Вы единственный бессменный помощник.

    Убрал nav-pills. Стиль пропал, но с active та же фигня.
     
    Последнее редактирование: 02.03.2018
  5. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    А тип пункта меню не разделитель ? Был такой трабл с подсветкой пункта меню, а вот решение забыл .
    Нужно копать в сторону логики модуля меню. Можно переопределить шаблон модуля в свой шаблон , и тестить.
     
  6. Septdir
    Offline

    Septdir Пользователь => Cпециалист <=

    Регистрация:
    27.11.2017
    Сообщения:
    172
    Симпатии:
    16
    Пол:
    Мужской
    Ну вообще уже достаточно давно, текущий пункт(то бишь тот пункт меню id которого или id привязного пункта, если типа пункта "псевдоним пункта меню" совпадает с параметром Itemid ) меню current а не active
    За это отвечает следующая строчка в макете модуля
    Код (PHP):
    1. if ($item->id == $active_id || ($item->type === 'alias' && $item->params->get('aliasoptions') == $active_id))
    2. {
    3.    $class .= ' current';
    4. }

    https://github.com/joomla/joomla-cms/blob/staging/modules/mod_menu/tmpl/default.php#L33

    Излечить это довольно таки просто. Просто переопределяешь default.php и меняешь current на active
     
  7. Offline

    hetman Недавно здесь

    Регистрация:
    28.01.2018
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской
    Первый пункт меню - материал.
    Второй пункт меню - блог (вывод материалов определенной категории). Все стандартно и прозрачно.
    Все стили страниц - по умолчанию для protostar.
    Такое впечатление, что глючит браузер ). Но на сайте, что лежит на локалке, такой фигни нет.
    Короче, попытался активировать меню на демо-сайте (третьем). Там такая же фигня. Это происходит после установки шаблона с сайта Templatemonster...
    Они там все однотипные и чего-то переписывают в базовых скриптах....
    Чувствую себя обезьяной. Надо сначала, видимо, изучить фреймворк (типа Yii), потом Javascript, а потом уже садится за Joomla, чтобы не чувствовать себя идиотом.
    А то что они пишут - вот так просто - смс-ка, прочтите руководство и ваяйте сайты. Ну да, что-то простое как попа папуаса вы сваяете. А только шаг в сторону и "поделки" активного интернет-сообщества попробуете прикрутить - начинаются костыли и грабли...
     
  8. Septdir
    Offline

    Septdir Пользователь => Cпециалист <=

    Регистрация:
    27.11.2017
    Сообщения:
    172
    Симпатии:
    16
    Пол:
    Мужской
    Joomla и есть framework https://framework.joomla.org/
     
    hetman нравится это.
  9. Offline

    hetman Недавно здесь

    Регистрация:
    28.01.2018
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо за грамотный ответ. Я правильно понял - косяк заложен в базовой поставке Joomla и это надо "лечить"? И что, все лечат?
    Или я что-то не так создал?
     
  10. Septdir
    Offline

    Septdir Пользователь => Cпециалист <=

    Регистрация:
    27.11.2017
    Сообщения:
    172
    Симпатии:
    16
    Пол:
    Мужской
    Ну если говорить о всех, то все делают шаблоны со своими переопределенными.

    Что же до косяка, то я бы несказал что класс current это косяк. А вот то что у path не правильный возможно и косяк. Я просто не работаю ни со стандартным ни с готовыми шаблонами, так что это даже не замечаю
     
  11. Offline

    hetman Недавно здесь

    Регистрация:
    28.01.2018
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской
    Кстати, если говорить о ID классов, то я, по наитию, воткнул принудительно ID для модуля меню, поставил 10 от фонаря - но не помогло. Т.е. о каком-то случайном совпадении ID речь не идет. Я подробно еще не вник, но косяк в ядре - это нормально. Странно. Очевидная вроде вещь.
     
  12. Septdir
    Offline

    Septdir Пользователь => Cпециалист <=

    Регистрация:
    27.11.2017
    Сообщения:
    172
    Симпатии:
    16
    Пол:
    Мужской
    Я сейчас посмотрел, на дефолтном шаблоне все порядке присваивается оба класса (item-102 current active)

    Ну а для того чтобы понять баг ли это, надо смотреть что к этому привело. Зачастую это ошибка твоей структуры.
     

Поделиться этой страницей

Загрузка...