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

Войти
   
   Начало   Поиск Joomla 2.5 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Альтернативный модуль меню для Joomla 1.7-2.5  (Прочитано 5911 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Marques
Практически профи
*******

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

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


Ctrl+F5


« : 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. Скрыть можно любой пункт и в любом порядке. Пункты меню которые имеют вложенные пункты, и при этом выбрана настройка "Показывать подпункты меню", не скроются (проверяется наличее вложенных пунктов, глубина раскрытия меню), это сделано для того что бы не возникло ошибки когда скрыт корневой пункт, а его подпункты нет, но при этом включен их показ.

Модуль имеет русский и английский языки. Устанавливается и удаляется стандартным способом, через менеджер расширений. Не затрагивает основной модуль и может использоваться одновременно с ним.

* mod_menu_s.zip (22.27 Кб - загружено 346 раз.)
Записан
Fedor Vlasenko
Практически профи
*******

Репутация: +358/-3
Online Online

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


Ctrl + U - иногда помогает


« Ответ #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
Практически профи
*******

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

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


Ctrl+F5


« Ответ #2 : 12.04.2012, 12:32:08 »

Да, протестировал со всеми вариантами какие смог придумать, а этом отрывке заглушка не нужна, проверяется сразу в начале цикла на наличие вложенности. Если в пункте есть вложенные пункты, но они не раскрываются при выводе, то такой пункт можно скрыть. Тестировал на чистой Joomla, со стандартными шаблонами.
Записан
Marques
Практически профи
*******

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

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


Ctrl+F5


« Ответ #3 : 12.04.2012, 12:36:31 »

Не так просто как кажется изначально.

Шаблон вывода понятен без вопросов, а вот с логикой вычисления наличия подпунктов, вычисления уровня вложенности подпункта и проверка относительно родителя... вот там немного сложновато было сразу понять что к чему, но только пока принцип не понял.

UPD

<li>Mymenu</li></ul></li> это вывод подпункта, в любом случае конструкция всегда завершиться тегом </ul>, от в самом конце, уже за циклом идет.
« Последнее редактирование: 13.04.2012, 01:09:54 от Marques » Записан
Marques
Практически профи
*******

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

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


Ctrl+F5


« Ответ #4 : 14.04.2012, 00:58:07 »

Альтернативный модуль меню для Joomla 1.7-2.5

Если найдете ошибки - пишите.
Если есть идеи чего еще не хватает - пишите.
Если есть вопросы - пишите.
Записан
ELLE
Support Team
*****

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

Пол: Женский
Сообщений: 3131



« Ответ #5 : 14.04.2012, 06:52:20 »

Marques, спасибо  Cheesy
вроде как все работает!
предложение только одно: добавить возможность не исключать по ID, а наоборот - указывать только те, которые надо показать, а то иногда слишком много надо исключать ))
а так все супер!
Записан
Marques
Практически профи
*******

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

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


Ctrl+F5


« Ответ #6 : 14.04.2012, 12:56:57 »

Ок, можно сделать. Я там еще парочку усовершенствований придумал, и сделаю выбор включать или исключать. Так глядишь и очередное мега-меню получится Azn
Записан
Iron-Death
Новичок
*

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

Сообщений: 1


« Ответ #7 : 08.05.2012, 09:06:20 »

Как сделать чтобы отмечать для вывода только нужные пункты?
Записан
DamianTrash
Осваиваюсь на форуме
***

Репутация: +3/-0
Online 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 Offline

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



« Ответ #9 : 22.06.2012, 13:40:51 »

Очень уважаю труд людей, и по отзывам людей этот модуль очень нужен. Но не могли бы вы привести хотя бы один пример где его можно использовать и в каких целях, все уже перебрал, но так и не понял зачем он нужен.
Записан
ELLE
Support Team
*****

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

Пол: Женский
Сообщений: 3131



« Ответ #10 : 22.06.2012, 13:44:39 »

Очень уважаю труд людей, и по отзывам людей этот модуль очень нужен. Но не могли бы вы привести хотя бы один пример где его можно использовать и в каких целях, все уже перебрал, но так и не понял зачем он нужен.
http://joomlaforum.ru/index.php/topic,211298.0.html
Записан
DamianTrash
Осваиваюсь на форуме
***

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

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



« Ответ #11 : 22.06.2012, 13:47:32 »

Цитировать
Очень уважаю труд людей, и по отзывам людей этот модуль очень нужен. Но не могли бы вы привести хотя бы один пример где его можно использовать и в каких целях, все уже перебрал, но так и не понял зачем он нужен.

Пример у меня на сайте:

Есть раздел форума. У форума есть свои разделы. Есть 2 меню: верхнее и в сайдбаре. В верхнем пункте меню "Форум" содержатся ссылки личного характера (мои сообщения, анкета, новая тема, подписки и т.д.), а в правом меню пункт "Форум" с подразделами общими (перечислены категории). Так вот, когда переходишь в категорию форума, к примеру, то в верхнем меню пункт "Форум" активный. Таким образом пользователи понимают, что они находятся в разделе форума. Аналогично у меня с блогом.
Я сделал одну общую структуру, но навигацию вывожу там, где мне нужно.
Записан
NortonFox
Давно я тут
****

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

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



« Ответ #12 : 22.06.2012, 13:54:23 »

То есть весь вопрос сводиться к подсветке активного пункта меню, при условии, что идет разбиение блока меню?
Записан
DamianTrash
Осваиваюсь на форуме
***

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

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



« Ответ #13 : 22.06.2012, 14:01:43 »

Подсветке кода, сохранении одного пути в URL'ах, один путь в хлебных крошках. Хотя на счёт хлебных крошек я могу ошибаться, они вроде и с применением других способов должны сохраняться.
У меня, при переходе в верхнем меню на любую страницу форума, все подпункты должны показываться и в правом меню (потому что первый уровень становится активным). Без этого модуля я этого сделать не мог.
Записан
NortonFox
Давно я тут
****

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

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



« Ответ #14 : 22.06.2012, 16:22:39 »

Понял, сразу несколько идей появилось как его использовать )))) спс
Записан
except
Новичок
*

Репутация: +1/-0
Offline 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 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 Offline

Сообщений: 1


« Ответ #17 : 17.01.2013, 17:13:35 »

Кто подскажет почему в альтернативном меню кнопка (ссылка) той страницы, которая в данный момент открыта, не активна...она выглядит так же как все пассивные кнопки. а по правилу должна подсвечиваться?
« Последнее редактирование: 17.01.2013, 17:39:47 от Toka » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.18 | 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