|
Marques
|
 |
« : 12.04.2012, 02:59:12 » |
|
После того как с подачи ELLE был обнаружен небольшой баг в Joomla 2.5 связанный с невозможностью сделать два модуля которые выводят разный набор пунктов из одного меню. Использовав идею поданую danik.html я решил сделать немного усовершенствованный модуль меню, который позволяет скрывать ненужные в этом конкретном модуле пункты, не снимая их с публикации. Этот модуль полностью идентичен стандартному, но теперь в настройке этого модуля, в админке, можно выбрать те пункты, которые именно в этом модуле нужно скрыть. Для выбора нужных пунктов просто введите их ID, который можно посмотреть в менеджере меню, в текстовое поле " ID пункта меню", несколько ID вводите через " ;" Теперь можно вывести 2 таких модуля, но в одном мы можем показать 1,2,3 пункт, скрыв 4,5,6, а в другом показать 4,5,6 и скрыть 1,2,3. Скрыть можно любой пункт и в любом порядке. Пункты меню которые имеют вложенные пункты, и при этом выбрана настройка " Показывать подпункты меню", не скроются (проверяется наличее вложенных пунктов, глубина раскрытия меню), это сделано для того что бы не возникло ошибки когда скрыт корневой пункт, а его подпункты нет, но при этом включен их показ. Модуль имеет русский и английский языки. Устанавливается и удаляется стандартным способом, через менеджер расширений. Не затрагивает основной модуль и может использоваться одновременно с ним.
|
|
|
|
|
Записан
|
|
|
|
|
Fedor Vlasenko
|
 |
« Ответ #1 : 12.04.2012, 12:21:35 » |
|
Тестировал? Интересует в многоуровневом меню если ты удаляешь последний элемент <li>Mymenu</li></ul></li> Не увидел заглушки в: // The next item is shallower. elseif ($item->shallower) { echo '</li>'; echo str_repeat('</ul></li>', $item->level_diff); } Не так просто как кажется изначально.
|
|
|
|
|
Записан
|
|
|
|
|
Marques
|
 |
« Ответ #2 : 12.04.2012, 12:32:08 » |
|
Да, протестировал со всеми вариантами какие смог придумать, а этом отрывке заглушка не нужна, проверяется сразу в начале цикла на наличие вложенности. Если в пункте есть вложенные пункты, но они не раскрываются при выводе, то такой пункт можно скрыть. Тестировал на чистой Joomla, со стандартными шаблонами.
|
|
|
|
|
Записан
|
|
|
|
|
Marques
|
 |
« Ответ #3 : 12.04.2012, 12:36:31 » |
|
Не так просто как кажется изначально.
Шаблон вывода понятен без вопросов, а вот с логикой вычисления наличия подпунктов, вычисления уровня вложенности подпункта и проверка относительно родителя... вот там немного сложновато было сразу понять что к чему, но только пока принцип не понял. UPD <li>Mymenu</li></ul></li> это вывод подпункта, в любом случае конструкция всегда завершиться тегом </ul>, от в самом конце, уже за циклом идет.
|
|
|
|
« Последнее редактирование: 13.04.2012, 01:09:54 от Marques »
|
Записан
|
|
|
|
|
Marques
|
 |
« Ответ #4 : 14.04.2012, 00:58:07 » |
|
Альтернативный модуль меню для Joomla 1.7-2.5
Если найдете ошибки - пишите. Если есть идеи чего еще не хватает - пишите. Если есть вопросы - пишите.
|
|
|
|
|
Записан
|
|
|
|
|
ELLE
|
 |
« Ответ #5 : 14.04.2012, 06:52:20 » |
|
Marques, спасибо  вроде как все работает! предложение только одно: добавить возможность не исключать по ID, а наоборот - указывать только те, которые надо показать, а то иногда слишком много надо исключать )) а так все супер!
|
|
|
|
|
Записан
|
|
|
|
|
Marques
|
 |
« Ответ #6 : 14.04.2012, 12:56:57 » |
|
Ок, можно сделать. Я там еще парочку усовершенствований придумал, и сделаю выбор включать или исключать. Так глядишь и очередное мега-меню получится 
|
|
|
|
|
Записан
|
|
|
|
Iron-Death
Новичок
Репутация: +0/-0
Offline
Сообщений: 1
|
 |
« Ответ #7 : 08.05.2012, 09:06:20 » |
|
Как сделать чтобы отмечать для вывода только нужные пункты?
|
|
|
|
|
Записан
|
|
|
|
DamianTrash
Осваиваюсь на форуме
 
Репутация: +3/-0
Online
Пол: 
Сообщений: 141
|
 |
« Ответ #8 : 22.06.2012, 13:36:38 » |
|
Добрый день. Тестировал этот модуль. Замечательная штука и очень нужная. Вот только есть две проблемы: 1. Меню ломается, если в многоуровневом меню отключить последний подпункт. Следующий пункт идёт почему-то как подпункт предыдущего пункта. 2. В файле modules/mod_menu_s/tmpl/default.php в 58-й строчке нужно убрать цифру 1 из фрагмента $class = ' class="1'.trim($class).'"'; . А то создаётся класс, к которому нельзя применить стиль. По себе знаю))) И да, действительно, удобнее всё таки не только исключать ID, но и добавлять. А так всё Ок! Спасибо огромное за модуль.
|
|
|
|
|
Записан
|
|
|
|
NortonFox
Давно я тут
  
Репутация: +27/-0
Offline
Пол: 
Сообщений: 360
|
 |
« Ответ #9 : 22.06.2012, 13:40:51 » |
|
Очень уважаю труд людей, и по отзывам людей этот модуль очень нужен. Но не могли бы вы привести хотя бы один пример где его можно использовать и в каких целях, все уже перебрал, но так и не понял зачем он нужен.
|
|
|
|
|
Записан
|
|
|
|
|
ELLE
|
 |
« Ответ #10 : 22.06.2012, 13:44:39 » |
|
Очень уважаю труд людей, и по отзывам людей этот модуль очень нужен. Но не могли бы вы привести хотя бы один пример где его можно использовать и в каких целях, все уже перебрал, но так и не понял зачем он нужен.
http://joomlaforum.ru/index.php/topic,211298.0.html
|
|
|
|
|
Записан
|
|
|
|
DamianTrash
Осваиваюсь на форуме
 
Репутация: +3/-0
Online
Пол: 
Сообщений: 141
|
 |
« Ответ #11 : 22.06.2012, 13:47:32 » |
|
Очень уважаю труд людей, и по отзывам людей этот модуль очень нужен. Но не могли бы вы привести хотя бы один пример где его можно использовать и в каких целях, все уже перебрал, но так и не понял зачем он нужен. Пример у меня на сайте: Есть раздел форума. У форума есть свои разделы. Есть 2 меню: верхнее и в сайдбаре. В верхнем пункте меню "Форум" содержатся ссылки личного характера (мои сообщения, анкета, новая тема, подписки и т.д.), а в правом меню пункт "Форум" с подразделами общими (перечислены категории). Так вот, когда переходишь в категорию форума, к примеру, то в верхнем меню пункт "Форум" активный. Таким образом пользователи понимают, что они находятся в разделе форума. Аналогично у меня с блогом. Я сделал одну общую структуру, но навигацию вывожу там, где мне нужно.
|
|
|
|
|
Записан
|
|
|
|
NortonFox
Давно я тут
  
Репутация: +27/-0
Offline
Пол: 
Сообщений: 360
|
 |
« Ответ #12 : 22.06.2012, 13:54:23 » |
|
То есть весь вопрос сводиться к подсветке активного пункта меню, при условии, что идет разбиение блока меню?
|
|
|
|
|
Записан
|
|
|
|
DamianTrash
Осваиваюсь на форуме
 
Репутация: +3/-0
Online
Пол: 
Сообщений: 141
|
 |
« Ответ #13 : 22.06.2012, 14:01:43 » |
|
Подсветке кода, сохранении одного пути в URL'ах, один путь в хлебных крошках. Хотя на счёт хлебных крошек я могу ошибаться, они вроде и с применением других способов должны сохраняться. У меня, при переходе в верхнем меню на любую страницу форума, все подпункты должны показываться и в правом меню (потому что первый уровень становится активным). Без этого модуля я этого сделать не мог.
|
|
|
|
|
Записан
|
|
|
|
NortonFox
Давно я тут
  
Репутация: +27/-0
Offline
Пол: 
Сообщений: 360
|
 |
« Ответ #14 : 22.06.2012, 16:22:39 » |
|
Понял, сразу несколько идей появилось как его использовать )))) спс
|
|
|
|
|
Записан
|
|
|
|
except
Новичок
Репутация: +1/-0
Offline
Сообщений: 4
|
 |
« Ответ #15 : 05.08.2012, 09:29:22 » |
|
Подскажите, есть меню с тремя уровнями вложенности вида: Меню 1 первый уровень вложенности (корневой пункт меню) Меню 2 первый уровень вложенности (корневой пункт меню) -->Меню 3 второй уровень вложенности -->-->Меню 4 третий уровень вложенности -->-->Меню 5 третий уровень вложенности -->Меню 6 второй уровень вложенности Меню 7 первый уровень вложенности (корневой пункт меню) Можно ли стандартными средствами Joomla или сторонними плагинами\модулями реализовать показ меню так, чтоб показывались только 2 уровня вложенности и при клике на меню второго уровня третье раскрывалось и показывалось? Показ стандартными средствами по с помощью Показывать подпункты меню - да и использование Начальный уровень - 1; Последний уровень - 2 не подходит, т.к. в первом случае раскрываются все 3 вложенности, а во втором не показывается(блокируется) третья вложенность. Спасибо v. Jommla 2.5.6
|
|
|
|
|
Записан
|
|
|
|
prometheus
Осваиваюсь на форуме
 
Репутация: +7/-0
Offline
Сообщений: 170
|
 |
« Ответ #16 : 06.08.2012, 13:21:53 » |
|
Подскажите, есть меню с тремя уровнями вложенности вида: Меню 1 первый уровень вложенности (корневой пункт меню) Меню 2 первый уровень вложенности (корневой пункт меню) -->Меню 3 второй уровень вложенности -->-->Меню 4 третий уровень вложенности -->-->Меню 5 третий уровень вложенности -->Меню 6 второй уровень вложенности Меню 7 первый уровень вложенности (корневой пункт меню) Можно ли стандартными средствами Joomla или сторонними плагинами\модулями реализовать показ меню так, чтоб показывались только 2 уровня вложенности и при клике на меню второго уровня третье раскрывалось и показывалось? Показ стандартными средствами по с помощью Показывать подпункты меню - да и использование Начальный уровень - 1; Последний уровень - 2 не подходит, т.к. в первом случае раскрываются все 3 вложенности, а во втором не показывается(блокируется) третья вложенность. Спасибо v. Jommla 2.5.6 Только javascript или CSS3
|
|
|
|
|
Записан
|
|
|
|
Toka
Новичок
Репутация: +0/-0
Offline
Сообщений: 1
|
 |
« Ответ #17 : 17.01.2013, 17:13:35 » |
|
Кто подскажет почему в альтернативном меню кнопка (ссылка) той страницы, которая в данный момент открыта, не активна...она выглядит так же как все пассивные кнопки. а по правилу должна подсвечиваться?
|
|
|
|
« Последнее редактирование: 17.01.2013, 17:39:47 от Toka »
|
Записан
|
|
|
|
|