Куда идем?

Одним из базовых компонентов для организации удобного доступа к разделам сайта является меню. Существует множество разновидностей меню: плоское и выпадающее, вертикальное и горизонтальное и др. В Joomla предусмотрены инструменты для работы с ними. Сегодня ты научишься создавать, настраивать, и выводить меню сайта.

Прежде чем создавать меню, ты должен понять его общую конструкцию в Joomla. В разделе работы с меню создается лишь его каркас, т.е. степень вложенности, ссылки пунктов меню, тип меню, и другие параметры, характеризующие его функциональность. А внешний вид создается с помощью шаблона, настройки отображения модулей, или специального компонента.

В админке Joomla есть специальный менеджер для работы с меню (Меню-> меню).  С его помощью можно создавать, редактировать и удалять различные меню. По умолчанию в нем уже созданы несколько видов меню, которых должно хватить среднему сайту. Но если тебе требуется больше, то можешь создать еще. При этом для каждого нового меню автоматически создадутся модули, отвечающие за отображение на сайте.

Настраивать каждое отдельное меню можно зайдя в Меню -> (Название меню, например, «Главное меню»), либо нажав кнопку «Изменить пункты меню» напротив нужного в менеджере меню. После этого появится страница «Пункты меню», где можно произвести все требуемые настройки. Подпункты меню обозначаются значком «|_» под соответствующим пунктом.

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

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

Рассмотрим настройки пункта меню (слева):

Название - название пункта меню. Оно будет отображаться в админке и на сайте.

Псевдоним - псевдоним пункта меню. Псевдоним используется для создания SEF-ссылок (SEF - это вид читаемых ссылок, который позволяет людям лучше ориентироваться в страницах сайта и полезен для поисковой оптимизации.

Если  стандартная ссылка некоторой страницы:

http://site.ru/index.php?option=com_content&view=article&id=19&Itemid=27 ,

то при включении SEF, она будет выглядеть так:

http://site.ru/index.php/joomla-overview.

Включить SEF можно в настройках Joomla(Сайт->Настройки->Включить SEF-ссылки) ). Если псевдоним не указан пользователем, система автоматически подставляет в него дату и время (пустым он быть не может).

Ссылка - будущая ссылка на страницу. В некоторых типах ее можно задавать самостоятельно (например, для типа «Внешняя ссылка»).

Отображать в меню - выбор меню для этого пункта.

Родительский пункт меню - эта настройка используется для создания уровней вложенности в меню. Если ничего не менять, то новый пункт будет создан на верхнем уровне. А если выбрать один из существующих пунктов меню, то текущий будет в него вложен.

Опубликовано - отображать или нет данный пункт на сайте.

Порядок расположения - позволяет выбрать порядок пунктов в меню.

Уровень доступа - устанавливает группы пользователей, которые смогут видеть этот пункт меню.

При нажатии открыть - выбор способа открытия этого пункта.

Таким образом можно последовательно создать и  настроить все пункты меню, а затем, опубликовав соответствующий модуль, отобразить его на сайте.

Но будь готов к тому, что внешний вид меню, которое ты увидишь на сайте, будет совсем не каким, каким хотелось бы. Далее попробуем привести меню к приемлемому виду...

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

Вот и все. Надеюсь, создание меню теперь не будет для тебя сложной задачей.

Об авторе
Wedal
(Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.
Добавить комментарий

Комментарии  
0
Скачала по вашей ссылке swmenufree3.6_RE компонент и модуль , ставиться не хотят, джумла говорит "Ошибка! Невозможно найти XML-файл установки в пакете Joomla!"
Закинула их в папку tmp,тоже не ставяться..
Подскажите в чём может быть проблема, пожалуйста.
0
Оля, Joomla говорит, что не может найти XML-файл, потому то его там нет. Вы пробовали заглянуть в архив? В нем есть описание и архив непосредственно с модулем. Вот его и нужно устанавливать.
Пишите, пожалуйста, комментарии с вопросами в статье, к которым они относятся.
0
Оля, не получается установить, т.к. это, скорее всего, версия для Joomla 1.0.x. Сейчас исправил ссылку. Можете скачать.
0
Добрый день.
У меня 2 вопроса:
1) Существует ли возможность задать какой-нибудь другой модуль меню "по умолчанию" кроме mod_mainmenu?
2) Если нет, возможно ли задать размещение стороннего модуля для меню joomla на ВСЕХ страницах сайта, как это делает mod_mainmenu?
0
dr0id, не понял вопроса. Что значит задать модуль "по умолчанию"?
0

Цитирую Wedal:

dr0id, не понял вопроса. Что значит задать модуль "по умолчанию"?



Мда, ахинею какую-то я написал.
Проще на примере объяснить:
Есть меню, которое использует mod_mainmenu.
Оно отображается на любой странице сайта независимо от того, на какой странице ты находишься.
Есть другое меню, которое использует модуль стороннего разработчика. Одним из его пунктов является категория марта(ну в общем-то это неважно).
Так вот, оно отображается ТОЛЬКО в том случае, если кликнуть на нужную категорию, и не висит на сайте всегда, как это происходит с mod_mainmenu.
Итак вопрос: Как стороннему модулю меню задать такие же "супер-способности", как у mod_mainmenu? :)
0
dr0id, скажу честно, получилась ахинея2 ;-) .
Во-первых, определимся с тем, что не меню отображается на сайте а его модуль. Меню Joomla - это структура, которая отображается только в админке, а на сайте его можно показать с помощью модуля.
Во-вторых, не меню использует модуль, а модуль использует меню.
Из-за неточного понимания этих моментов и возник вопрос. В стандартных параметрах любого модуля есть опция, в которой отображения модуля привязывается к пунктам меню. Причем именно к тем пунктам, которые настраиваются в менеджере меню Joomla (mod_mainmenu здесь ни причем). Таким образом, чтобы показать любой модуль(неважно модуль меню это или чего-то еще) на всех страницах, необходимо выбрать привязку ко всем пунктам всех меню, установив точку в параметр "Все".
0
Спасибо, теперь понял свою ошибку.
Действительно, неправильное понимание модулей привело к такой коллизии.

Спасибо еще раз за то, что тратите свое время на советы нерадивым новичкам.
0
Этот компонент я установил но в нем с ходу не разобраться. Где можно почитать как с ним работать? Поиск в сети не помог.
0
Помню в 5-м разделе вы применили такое словосочетание: "шкурка" сайта, говоря о шаблоне сайта. А существуют ли "шкурки" (шаблоны) меню - такие которые можно просто скачать с интернета, установить на свой шаблон (или просто добавить папки где-то в директории папок джумлы), и применить вводом суффикса?
Было бы очень удобно, если где-то есть сайт шаблонов модулей: Хочешь чтоб твой модуль выглядел... так-то? - Скачай >этот< плагин (шаблон модуля), и получишь был цветное, анимированное мню с возможностью выбрать цвета оформления (из предложенных,либо вообще из спектра как в фотошопе)...?
Или это надо только самому заниматься составлением кода?
0
Антон, тут, к сожалению, все намногооо сложнее. Красивое меню нельзя просто так взять и установить в Joomla, нажав одну кнопку. Пример того, как можно сделать то, про что вы спрашиваете, я описал здесь:
http://wedal.ru/uroki-joomla/integration-jquery-menu-in-joomla-template.html
При этом все равно придется "подтачивать" стиль меню через CSS. Цвета там поменять, размеры.
Если нужен простой вариант - это SWmenuFree. Но я считаю, что устанавливать дополнительный компонент ради оформления меню не есть good.
0
У меня в шаблоне есть горизонтальное меню из 6-ти пунктов. Модуль этот так устроен, что все эти пунткты набиваются по порядку в него один за другим, начиная от левого края.
Я хочу чтобы первый элемент выравнивался по левому краю, остальные - справа (крайний правый - последний пункт меню, и предыдущие от него - справа налево).
С помощью файербага нашел часть кода, где описываются элементы меню:








В частности у last item прописаны настройки в коде:
0
почему-то тэги не прописались:

(ul id="menusys_moo")
(li class="first-item ")
(li class=" ")
(li class=" ")
(li class=" ")
(li class=" ")
(li class="last-item")

В частности у last item прописаны настройки в коде:
(a title="Оформить заказ" id="menusys50" class=" item" href="/....)

Можно ли тут добавить команду о выравнивании вправо?

Или где это делается?
0
Антон, читайте эту серию:
http://wedal.ru/tag/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0%D0%BC%D0%B8-joomla.html
Особенно 5-ю часть. Там про меню.
0
Здравствуйте. Давно вам не писал, но "в запас" ещё не уволился ;)
Про меню:
В администрировании модуля меню в "параметрах" можно задать: "Всегда показывать вложенные подпункты"
Как сделать, чтобы это работало только для Домашней страницы?
Одним словом я хочу: Показывать вложенные подпункты, но только если отображаемая страница - домашняя.
1
Разобрался: в Менеджере модулей создал копию исходного модуля, расположил в той же позиции, задал им назначения меню: для исходного - только домашнюю, для копии - все остальные. И заработало :)
0
Здравствуете, у меня не работают SEF ссылки. Сделал всё как вы сказали

Цитата:

Включить SEF можно в настройках Joomla(Сайт->Настройки->Включить SEF-ссылки) ).

но ссылки всё равно формируются в стандартном виде, типа http://site.ru/index.php?option=com_content&view=article&id=19&Itemid=27
Подскажите пожалуйста. в чём можеть быть проблема?