Разработка шаблонов / Делаем связанные меню в Joomla 1.5
Иногда бывает нужно сделать связанные меню (подсветка активных элементов связанного меню, вывод связанных пунктов меню в навигацию) при чем с возможностью разнести их по разным позициям модулей. К счастью в Joomla 1.5 это возможно без всяких хаков.

Для этого заходим в «Пункты меню» и создаем дочерние пункты меню, которые мы хотим вынести в другую позицию модуля:

Последний уровень равен 1 т.е. дочерние элементы меню в нем отображается не будут.
Создаем еще один модуль меню для Главного меню и тоже выставляем уровни отображения:

Теперь начинается самое интересное. Заходим в модуль Главного меню и выставляем там уровни отображения:

Начальный уровень равен 1 т.е. материнские элементы меню в нем отображаться не будут; последний уровень равен 2 т.к. вложенность у нас 2 уровня, поэтому нет смысла ставить больше.
Также можно реализовать еще один тип меню т.н. SPLITMENU:

Процедура создания ничем не отличается от связанного меню, но дочерние элементы меню обычно имеются не на всех пунктах материнского меню и для того что бы в шаблоне не отображался лишний html-код, которые будет портить верстку нужно присваивать отображение модуля дочернего меню к определенным пунктам материнского меню, что не очень удобно. Для этих целей в Joomla! 1.5.7 появилась новая функция, которая позволяет проверить есть ли дочерние элементы или нет:

Для этого заходим в «Пункты меню» и создаем дочерние пункты меню, которые мы хотим вынести в другую позицию модуля:

Последний уровень равен 1 т.е. дочерние элементы меню в нем отображается не будут.
Создаем еще один модуль меню для Главного меню и тоже выставляем уровни отображения:

Теперь начинается самое интересное. Заходим в модуль Главного меню и выставляем там уровни отображения:

Начальный уровень равен 1 т.е. материнские элементы меню в нем отображаться не будут; последний уровень равен 2 т.к. вложенность у нас 2 уровня, поэтому нет смысла ставить больше.
Также можно реализовать еще один тип меню т.н. SPLITMENU:

Процедура создания ничем не отличается от связанного меню, но дочерние элементы меню обычно имеются не на всех пунктах материнского меню и для того что бы в шаблоне не отображался лишний html-код, которые будет портить верстку нужно присваивать отображение модуля дочернего меню к определенным пунктам материнского меню, что не очень удобно. Для этих целей в Joomla! 1.5.7 появилась новая функция, которая позволяет проверить есть ли дочерние элементы или нет:
<div>
<jdoc:include type="modules" name="mainmenu" style="raw" />
</div>
<?php if ($this->countMenuChildren()){ ?>
<div>
<jdoc:include type="modules" name="submenu" style="raw" />
</div>
<?php } ?>
- 0
- 29 октября 2009, 13:25
- 12
Комментарии (12)
RSS | свернуть / развернутьОсталось подправить стили.
Плохо то, что как я чувствую, не для всех случаев такой вариант подойдет, а значит вопрос остается открытым — почему пропадают пункты модульного меню, хотя порядок соблюден.
Спасибо большооооооооое.
так как главное меню у меня не имеет собственной позиции, то там я не могу проставить порядок (0 и 1), попросту не добраться до него никак. Нет в этом шаблоне своей позиции для главного меню, как и во многих других.
Подскажете ПЛИЗ, как исправить этот недостаток. Может пост есть на эту тему. А то из-за моего самотыка слетели все стили, и я опасаюсь, как бы еще где что не вылезло.
Спасибкин!
Сидел три дня и думал как сделать красиво, а сделал за 5 минут. Это то что я так долго искал, все зароботало. Спасибо, вселенское!!!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.