Форум русской поддержки Joomla!® CMS
06.12.2016, 14:15:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Проблема с выпадающим меню. Выводится только через тип меню "разделитель"

 (Прочитано 2149 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« : 13.05.2015, 22:37:30 »

Добрый вечер всем! Делаю сайт с магазином на JoomShopping. Сайт на шаблоне от "icetheme", вот этот шаблон - http://demo.icetheme.com/it_smartshop/.
Делаю верхнее горизонтальное выпадающее меню в несколько уровней такого типа:

Цитировать
1. ПРОКАТ
2.......ПРОКАТ СНАРЯЖЕНИЯ
3..............ПРОКАТ ПАЛАТОК
3..............ПРОКАТ СПАЛЬНИКОВ
2......ПРОКАТ ЛОДОК
3..............ЛОДКИ А
3..............ЛОДКИ Б
2......ПРОКАТ ВЕЛОСИПЕДОВ
3..............ВЕЛО А
3..............ВЕЛО Б
Соответственно под каждый пункт меню есть категория в JoomShopping, которую вывожу. Но вот трабл в том, что переходные пункты меню (1 и 2 уровни) выпадают только при установленном типе меню "разделитель", но этот вариант мне не подходит, т.к. на 1 и 2 уровни я также вывожу категории из JoomShopping, и пункты меню должны быть все активными (кликабельными). Если ставлю любой другой тип меню, стрелочка выпадающего меню не появляется и оно, соответственно не работает.
Модуль меню выводится стандартным mainmenu и стоит в позиции шаблона под названием mainmenu. Поля Суффикс CSS-класса модуля и меню пустые. Кнопка "показывать подпункты меню" активна.
Буду очень благодарен, если кто-нибудь поможет решить этот трабл, застрял на этом и не могу дальше работать над сайтом.
Заранее спасибо всем, кто откликнется!
Записан
04r12
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 176


Позитив есть! Чего и вам желаю=)


« Ответ #1 : 14.05.2015, 08:18:27 »

Как я понял, в шаблоне не предусмотрено выпадающего меню с активным родителем. Допиливать надо, чтобы, например, родитель вида "блог категории" имел функционал dropdown. Если сайт уже в сети, не помешала бы ссылочка. Я вряд ли чем еще смогу помочь, но кто нибудь из местных гуру при наличии ссыля может дать более подробную консультацию.
Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #2 : 14.05.2015, 11:53:07 »

Как я понял, в шаблоне не предусмотрено выпадающего меню с активным родителем. Допиливать надо, чтобы, например, родитель вида "блог категории" имел функционал dropdown. Если сайт уже в сети, не помешала бы ссылочка. Я вряд ли чем еще смогу помочь, но кто нибудь из местных гуру при наличии ссыля может дать более подробную консультацию.
Благодарю за отклик! Сайт в процессе разработки, но в сети уже есть. Вот он: http://kanivtur.in.ua/.
В русскоязычной версии сайта пробую выводить меню модулем Sj Flat Menu от smartaddons.com, модуль хороший, изначально уже адаптивный под моб.устройства, как и стандартный. В модуле Sj Flat Menu выпадающее меню работает в любом случае, т.е. при любом типе меню. Я его бы и оставил, но не могу повторить стиль стандартного модуля, а мне важно сохранить этот дизайн, особенно на мобильном устройстве. Вчера целый вечер с FireBug шаманил, но ничего толково сделать не удалось.
Записан
04r12
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 176


Позитив есть! Чего и вам желаю=)


« Ответ #3 : 14.05.2015, 12:41:56 »

В шаблоне есть настройки, регулирующие выпадение меню (по клику или при наведении)? У вас кроме разделителя ничего работать не будет, т.к. для вывода подпунктов необходим клик по родителю, а, соответственно, для этого он должен быть без ссылки (точнее ссылка есть - "#", для раскрытия подпунктов). Нужно для выпадающего меню прописать (естественно, если таковых настроек в шаблоне нет) вместо onclick hover, дабы оно вываливалось при наведении. Это должно решить Вашу проблему, родитель любого вида можно будет делать.
Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #4 : 14.05.2015, 13:06:52 »

В шаблоне есть настройки, регулирующие выпадение меню (по клику или при наведении)? У вас кроме разделителя ничего работать не будет, т.к. для вывода подпунктов необходим клик по родителю, а, соответственно, для этого он должен быть без ссылки (точнее ссылка есть - "#", для раскрытия подпунктов). Нужно для выпадающего меню прописать (естественно, если таковых настроек в шаблоне нет) вместо onclick hover, дабы оно вываливалось при наведении. Это должно решить Вашу проблему, родитель любого вида можно будет делать.
В настройках шаблона никаких параметров относительно меню нет. А что именно нужно прописать вместо onclick hover и где? Я так понимаю, что тут либо в файле templates/it_smartshop/html/mod_menu/default.php (кстати, модуль уже изначально был переопределен), либо в template.css шаблона (хотя там много CSS файлов и еще каких-то файлов с расширением .less (ранее с такими не стыкался). В общем, сложный шаблон с кучей всяких файлов.
Кстати, полез в файл mod_menu/default.php, и смотрю в коде кроме type == 'separator' (как я понимаю это и есть тип меню "разделитель") и type == 'alias', больше никаких типов не предусмотрено. Может и в этом тоже проблема?
Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #5 : 14.05.2015, 13:28:29 »

На счет onclick hover. Сделал автоматический поиск по всех файлах шаблона на наличие "onclick hover" и вручную основные файлы пересмотрел...в общем нигде не встречается это "onclick"...
Записан
04r12
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 176


Позитив есть! Чего и вам желаю=)


« Ответ #6 : 15.05.2015, 06:33:41 »

Я не особый специалист по этой части, всегда методом тыка допиливал то, что мне нужно. Вам к классу меню нужно дописать свойство dropdown: hover.
Свойство onklick может быть и не прописано а просто идти по умолчанию. Учитывая уровень "профессионализма" моего в этих вопросах дальше надо либо самому ковырять методом тыка с полным доступом, либо просить помощи у здешних гуру, которые действительно смогут сказать, где конкретно добить это свойство.
Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #7 : 15.05.2015, 12:37:00 »

Я не особый специалист по этой части, всегда методом тыка допиливал то, что мне нужно. Вам к классу меню нужно дописать свойство dropdown: hover.
Свойство onklick может быть и не прописано а просто идти по умолчанию. Учитывая уровень "профессионализма" моего в этих вопросах дальше надо либо самому ковырять методом тыка с полным доступом, либо просить помощи у здешних гуру, которые действительно смогут сказать, где конкретно добить это свойство.
Аналогично...Что касается ковыряния в коде, все делал методом тыка, потому как редко возникает такая необходимость. Чаще всего получалось, но вот иногда бывают такие ситуации, что без других умов сложно что-то сделать. Вот и сейчас так...
В общем смотрите, в template.css шаблона есть такое:

Код:
.dropdown-menu {
    background-clip: padding-box;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 6px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    display: none;
    float: left;
    left: 0;
    list-style: outside none none;
    margin: 2px 0 0;
    min-width: 160px;
    padding: 5px 0;
    position: absolute;
    top: 100%;
    z-index: 1000;
}

Как я понимаю это и есть основной класс выпадающего меню. Хотя там в названиях много где встречается dropdown-menu, например, .dropdown-menu .divider, .dropdown-menu > li > a и другие. Как я понимаю, то уже подклассы, если так можно выразится.
Так вот пробую с помощью FireBug вписать туда dropdown: hover, он такого свойства не понимает...Погуглил и не нашел такого свойства в CSS.
Если бы знать наверняка, что это решается посредством правок в CSS, а не скажем в mod_menu/default.php, то было бы уже проще.
04r12, может вместе и решим эту задачу. Подкидывайте идеи, а я буду пробовать :-)
П.С. Тому кто поможет решить эту задачу символическое вознаграждение в 100 руб. на Webmoney. 
Записан
04r12
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 176


Позитив есть! Чего и вам желаю=)


« Ответ #8 : 15.05.2015, 14:59:25 »

В порядке бреда...как Вы говорили ранее
Цитировать
кроме type == 'separator' (как я понимаю это и есть тип меню "разделитель") и type == 'alias', больше никаких типов не предусмотрено
К обоим классам допишите строку dropdown: hover
Поглядим, что выйдет.
Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #9 : 15.05.2015, 17:29:14 »

В порядке бреда...как Вы говорили ранееК обоим классам допишите строку dropdown: hover
Поглядим, что выйдет.
Пробовал .dropdown-menu .dropdown: hover, получается такой эффект, что все подпункты меню сразу открыты. Такой же эффект получается если просто удалить класс .dropdown-menu. Радует уже то, что показались скрытые до того подпункты меню :-) Значит, скорее всего, это решается посредство CSS.  Так что-нибудь и получится :-)
Записан
04r12
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Мужской
Сообщений: 176


Позитив есть! Чего и вам желаю=)


« Ответ #10 : 18.05.2015, 06:11:32 »

Цитировать
Пробовал .dropdown-menu .dropdown: hover, получается такой эффект, что все подпункты меню сразу открыты.
Вообще странно, сей параметр отвечает за раскрытие подпунктов при наведении мышью, и только тогда все должно открываться...прям очень странно. И интересно поковыряться=)
Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2653


step by step


« Ответ #11 : 18.05.2015, 07:04:46 »

может поможет
http://joomla-support.ru/thread/45561/#post-180589
Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #12 : 18.05.2015, 15:22:31 »

может поможет
http://joomla-support.ru/thread/45561/#post-180589
draff, благодарю за отклик! Ума не приложу, что конкретно нужно применить из той темы, ведь там ситуация другая. Как я понимаю у автора темы меню выпадает при наведении мыши, а он хочет чтобы выпадало при клике. У меня же меню не выпадает, точнее выпадет только если установить тип пункта меню "разделитель", а мне нужно вывести многоуровневый пункт меню JoomShopping тип пункта "category" и чтобы он был активным (кликабельным). Мне, в принципе, неважно, как оно будет выводится, при наведении или при клике, все равно...лишь бы показывались подпункты.
Цитата: draff, post: 180589, member: 48436
Не материал.Так не будет прямого доступа перейти.
Тип меню Блог категории, где подпункты и будешь назначать  ссылками на материалы этой категории.
Извиняюсь, но не понимаю, как этот пост относится к моей ситуации? Я ведь вывожу категории из магазина JoomShopping, а не "материал" или "блог категории".
Но я не сидел сложа руки, приглянулся мне этот Ваш пост:
Цитировать
http://joomla-support.ru/thread/45561/#post-180582
И я давай экспериментальным путем пробовать. Скачал прикрепленный Вами кастомизированный макет модуля меню. Родные шаблоновские файлы модуля сначала удалил и залил скачанные bootstrap-dropdown.php и default_component.php. В настройках модуля меню в параметре "альтернативный макет" появилось bootstrap-dropdown, которое я выбрал. В index.php поменял шаблоновский класс <div class="nav-collapse collapse"> на <div class="dropdown">. Ну и в родительском пункте меню "ПРОКАТ" указал CSS-класс ссылки dropdown-toggle.
В общем, что из этого получилось. При клике на родительский пункт меню "ПРОКАТ" появляется подпункт меню "Прокат спорядження", который также содержит подпункт. И этот подпункт уже не показывается. Я и в пункт "Прокат спорядження" прописал CSS-класс ссылки dropdown-toggle в надежде, что нужный подпункт покажется, но он не показался, хотя стрелочка появилась (при клике на пункт, меню не выпадает, ничего не происходит). И еще большой косяк в том, что когда прописываешь в пункет меню CSS-класс ссылки dropdown-toggle, то он становится не кликабельным и не ведет на нужную категорию магазина JoomShopping, хотя в настройках меню и указан тип JoomShopping "category". При наведении на пункт отображается путь http://kanivtur.in.ua/#, а должен быть http://kanivtur.in.ua/nadayemo-u-prokat.html. Короче, работает аналогично как тип "разделитель".
Еще при данном решении на мобильном устройстве перестает работать "менюшка", т.е. она перестает сворачиваться/разворачиваться, кнопка просто не работает.
И вот я вернул все обратно, как было. В папку templates/it_smartshop/html/mod_menu/ вернул шаблоновские файлы модуля, но эти скачанные тоже оставил. В index.php вернул в изначальное состояние. Но забыл убрать в пункет меню "ПРОКАТ" CSS-класс ссылки dropdown-toggle. И заметил, что подпункт "Прокат спорядження" остался выпадающим и на мобильном устройстве все стало работать нормально. Т.е. получается, что параметр "альтернативный макет: bootstrap-dropdown" и изменение класса в index.php на <div class="dropdown"> - это лишнее (толку от этого никакого, а только перестает работать кнопка меню на мобильном устройстве).
В общем, уже вроде как немного продвинулись вперед. Подпункт "Прокат спорядження" выпадет, что уже хорошо, но следующий подпункт "Прокат наметів", который должен выпасть из "Прокат спорядження" уже не показывается и класс ссылки dropdown-toggle уже не помогает. Ну и родительский пункт меню остается некликабельным и не ведет на нужную категорию магазина, что весьма печально.
draff, если можете, перейдите на сайт, чтобы было понятнее. Я там оставил все как есть сейчас. Заранее спасибо!
Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2653


step by step


« Ответ #13 : 18.05.2015, 16:30:03 »

Если будет время посмотрю позже. Вот еще тема с моим участием.
http://joomlaforum.ru/index.php?topic=298517.0
Может попробуешь готовый модуль меню.
п.с.
Смотрел, но на твоем сайте нет родительского пункта меню в теге li class="sub-menu"
Как я понимаю на демо шаблона, вшитое меню.
« Последнее редактирование: 18.05.2015, 20:25:48 от draff » Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #14 : 18.05.2015, 21:49:09 »

Может попробуешь готовый модуль меню.
п.с.
Смотрел, но на твоем сайте нет родительского пункта меню в теге li class="sub-menu"
Как я понимаю на демо шаблона, вшитое меню.
На счет сторонних модулей, то я еще сразу пробовал Sj Flat Menu и Cinch Menu. Модули хорошие, выпадение работает отлично даже в моем случае. Но мне не удалось повторить такой стиль, который сейчас при стандартном шаблоновском модуле, а мне важно сохранить этот дизайн, особенно на мобильном устройстве. У меня там в один ряд с меню идет корзина, в стандартном модуле оно хорошо сочетается, при сторонних начинаются проблемы.
Поэтому пришлось отказаться от этих модулей.
Смотрел, но на твоем сайте нет родительского пункта меню в теге li class="sub-menu"
Как я понимаю на демо шаблона, вшитое меню.
draff, благодарствую! Извиняюсь, но не могу понять.
У меня сейчас в админке сайта такая картина:
Цитировать
Прокат
|—Прокат спорядження
|—|—Прокат наметів
Все 3 пункта меню активны. В исходном коде страницы все 3 и присутствуют. Вот кусок кода, которым выводится mainmenu:
Код:
<div class="nav-collapse collapse">
<ul class="nav menu">
<li class="item-1049 current active"><a href="/" >Головна</a></li><li class="item-1082 deeper parent dropdown"><a class="dropdown-toggle" href="#" data-toggle="dropdown" >[b]Прокат[/b] <b class="caret"></b></a><ul class="dropdown-menu"><li class="item-1084 deeper parent dropdown"><a href="/nadayemo-u-prokat/sporyadzhennya-na-prokat.html" >[b]Прокат спорядження[/b]</a><ul class="dropdown-menu"><li class="item-1085"><a href="/nadayemo-u-prokat/sporyadzhennya-na-prokat/prokat-nametiv.html" >[b]Прокат наметів[/b]</a></li></ul></li></ul></li></ul>
</div>
   
Т.е. в коде видно, что подпункт "Прокат наметів", который должен выпадать из "Прокат спорядження", присутствует, но он не отображается.
Прикрепляю скрин менеджера меню, чтобы была понятна структура.

П.С. Я уже так запутался с этим выпадающим меню, что не знаю как дальше быть. Уже руки опускаются Sad В чем же тут проблема?
Записан
capricorn
Живу я здесь
******

Репутация: +86/-0
Offline Offline

Сообщений: 1413


« Ответ #15 : 19.05.2015, 00:44:24 »

если залогиниться на сайте, как Super User, третий уровень показывается?
Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2653


step by step


« Ответ #16 : 19.05.2015, 09:14:20 »

На твоем сайте FireBug показывает, пункт меню Прокат, как разделитель, а не категория ЖШ
Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #17 : 19.05.2015, 10:22:25 »

если залогиниться на сайте, как Super User, третий уровень показывается?
capricorn, благодарю! Вы имеете ввиду через фронт-энд сайта? Поставил модуль входа, залогинился, но подпункты все равно не показались.
На твоем сайте FireBug показывает, пункт меню Прокат, как разделитель, а не категория ЖШ
Как видно по скриншоту тип пункта меню "ПРОКАТ" указан JoomShopping category. Получается, что CSS-класс ссылки dropdown-toggle само превращает меню в тип "разделитель". Убрал этот класс и теперь меню ведет на категорию JoomShopping, но стрелочка вниз, дающая понять что есть подпункты, при этом исчезла и подпункт "Прокат спорядження" уже не выпадает, хотя в исходном коде он присутствует, как и подпункт 3-го уровня "Прокат наметів".
Еще заметил, что если удалить ранее залитый мною файл default_component.php в папку it_smartshop/html/mod_menu/ (прикрепленный Вами на другом форуме макет модуля меню), то CSS-класс ссылки dropdown-toggle уже не работает, прописывай не прописывай, пункт как и нужно ведет на категорию JS. Значит оно этот класс тянет из этого default_component.php, как я понимаю.
В общем, сейчас этот файл я удалил и класс dropdown-toggle тоже убрал, все равно толку от этого пока никакого.
Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #18 : 19.05.2015, 11:43:54 »

В общем, товарищи, если это действительно сложная задача, то, наверное, я лучше откажусь от этой идеи. Сам не потяну и других мучить больше не хочу. Буду использовать тип меню "разделитель". Сильно благодарю всех, кто попытался помочь :-)
Записан
draff
Практически профи
*******

Репутация: +161/-5
Offline Offline

Пол: Мужской
Сообщений: 2653


step by step


« Ответ #19 : 19.05.2015, 12:25:07 »

нужно ковырять код, просто подсказками вряд ли.
на всяк случай, как вариант- подключить плагин bootstrap-dropdown.js
http://mybootstrap.ru/javascripts/#bootstrap-dropdown.js
Записан
Good_user
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 147


Ukraine, Kyiv


« Ответ #20 : 19.05.2015, 15:03:33 »

нужно ковырять код, просто подсказками вряд ли.
на всяк случай, как вариант- подключить плагин bootstrap-dropdown.js
http://mybootstrap.ru/javascripts/#bootstrap-dropdown.js
Благодарю, но я окончательно решил отказаться от этой затеи, просто времени больше нет. Кстати, в настройках шаблона есть такой параметр "Enable Bootstrap", у меня стоит "ДА". Значит, скорее всего, он у меня подключен. Еще раз благодарю все, кто откликнулся! Тему можно закрывать!
Записан
Dimazzzzz
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 3


« Ответ #21 : 09.07.2015, 17:53:57 »

Нужно поставить тип меню "разделитель"

Тип пункта меню --> Системные ссылки --> Разделитель

и тогда все начинает выпадать как надо=)
Сам мучился и перечитал кучу форумов
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet