Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 14 Ответов
  • 2994 Просмотров
*

mixe

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Добрый всем день!
Возможно данный волпрос уже поднимался и не раз, однако найти ответ мне так и не удалось. Буду всем признателн за помощь!
Проблема вот в чем, при переходе по подпунктам меню, мункт основного меню из которого открыт этот подпункт меню, переходит в изначальное состоянее(не активное). Как сделать чтобы он был в стиле для актвиного пункта основного меню? Меню двух уровневое. Пробовал делать из и пункта основного меню псевдопункт на подменю, и наоборот, получалось что либо терялась активность основного пункта меню, либо подпункта.
ssbest.ru сам сайт.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
файл default.php положить в папку ваш шаблон/html/mod_menu/default.php
Спойлер
[свернуть]
*

mixe

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Спасибо, буду пробовать!
А можете описать что делает данный скрипт?Не  в обещм, а более развернуто?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
if ($item->id == $active_id || $item->id == JSite::getMenu()->getActive()->tree[0]) {
$class .= ' active';
}
Задает класс active родителю активного меню, то что вам нужно.
*

mixe

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Да, уже сам понял.
Только у меня в папке HTML есть папка mod_menu и там есть default.php такого содержания
Спойлер
[свернуть]

по мойму то что вы мне дали,  и то что здесь отвечает за одно и тоже.
Не помогло. Класс родителя li "selected itemXXX", "activ" не появился.
« Последнее редактирование: 27.06.2012, 17:02:31 от mixe »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Да с папкой ошибся не дописал в папку html/mod_menu
Но в моем файле задан класс active  родителю активного меню
Да и еще я обернул вывод ul ul в div для оформления.
А как это работает у меня под аваторкой сайт
*

mixe

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Так, после замены на ваш вариант, слетело оформление меню.
Попробывал заменить
<ul id="menu<?php echo $class_sfx;?>"<?php
 на
<ul id="joomla-nav<?php echo $class_sfx;?>"<?php
не помогло...
Мне получаеться нужно как-то ваш вариант срастить с моим, вот только как ума не приложу...
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
поменяйте классы из id  в css
#current на .active и т. д если не надо уберите обертку <div></div>
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
В дефолтной разметке mod_menu уже всё настроено. Два класса:
.current - текущий пункт меню. Он один. В девичестве (J1.5) это был id, чем несомненно доставлял верстакам, делающим более одного меню на сайте.
.active - активный пункт. Т.е. присваивается всем родителям так же всем родителям текущего пункта.
*

mixe

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
В дефолтной разметке mod_menu уже всё настроено. Два класса:
.current - текущий пункт меню. Он один. В девичестве (J1.5) это был id, чем несомненно доставлял верстакам, делающим более одного меню на сайте.
.active - активный пункт. Т.е. присваивается всем родителям так же всем родителям текущего пункта.
ну, у меня и сейчас id="current" у активного меню, class="selected itemXXX" у выбранного...
поменяйте классы из id  в css
#current на .active и т. д если не надо уберите обертку <div></div>
поменял, не выходит каменный цветок все равно...
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Просто переименуйте папку temlates/шаблон/html/mod_menu в __mod_menu, например. И всё встанет по-дефолту.
*

mixe

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Просто переименуйте папку temlates/шаблон/html/mod_menu в __mod_menu, например. И всё встанет по-дефолту.
По какомус дефолту?т.е. вернеться старое оформление?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Перепишите селекторы в стилях. Долго ли.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
вставьте в дефолтный default.php

if($item->deeper) {
      $class .= 'parent ';
   }
if ( $item->id == JSite::getMenu()->getActive()->tree[0]) $class .= ' paractive';
   $class = ' class="'.$class.'item'.$item->id.'"';

далее задайте в CSS стиль для родителя активного пункта меню
Код: css
.paractive{}
*

mixe

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Всем спасибо за помощь, заработало :D
только маленькие пояснения/дополнения как именно заработало
строчка добваляет класс paractive к тегу li получаеться что то типа li class="selected paractive itemXXX". Вот для этого класса и указываем в CSS парамаетры типа
Код
.joomla-nav .paractive a{}
И тут вы скажите, а зачем нам paractive, если есть selected, на что я вам отвечу, что я тожен так подумал, и сделал вообще без изменения default.php, а параметры задал так:
Код
.joomla-nav .selected a {}
почему я так раньше не сделал, сам не пойму, видимо неправильно указывал последовательность в CSS.
Еще раз всем огромное спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Алиас пункта меню совпадает с именем подкаталога в каталоге с сист.файлами

Автор Andrey N.

Ответов: 14
Просмотров: 3944
Последний ответ 07.10.2021, 23:57:15
от Garrr
Главное меню

Автор Анастасия87

Ответов: 7
Просмотров: 1907
Последний ответ 21.05.2021, 08:40:40
от arma
Как сократить вертикальное расстояние между меню сайта и баннером?

Автор MultiMatrix83

Ответов: 2
Просмотров: 1589
Последний ответ 16.02.2020, 19:30:25
от MultiMatrix83
Редактирование Модуля - в меню не удаляется пункт

Автор bovinkm

Ответов: 4
Просмотров: 1765
Последний ответ 16.08.2019, 15:00:22
от bovinkm
Не выбирается материал в Joomla при создании меню. Как быть?

Автор elliotos

Ответов: 8
Просмотров: 3384
Последний ответ 09.07.2019, 16:38:31
от cerxx