Получать рассылку по электронной почте

Введите свой email-адрес:

Delivered by FeedBurner

Навигация

Использование меню в CMS Made Simple

меню навигация

Менеджер меню является модулем для представления навигации в CMSMS, который легко использовать и настраивать. Он выделяет  отображаемую часть меню, преобразовывая ее в Smarty-шаблоны. Путем изменения существующих шаблонов или создания своих собственных, вы можете реализовать практически любое меню, которое только можно придумать.

Давайте рассмотрим, что же из себя представляет данный модуль, и, чтобы разобраться, в консоли администратора откроем страницу Оформление | Менеджер меню.  Мы увидим список шаблонов для меню, существующих по умолчанию. Каждый из них обеспечивает свое представление, свою структуру навигации.

Для любого меню можно добавить Разделитель-линию (тег hr). Но чтобы разделитель был виден,его нужно предварительно создать в административной панели (щелкнув Контент | Страницы, Добавить новый контент, выбрать Тип контента – Разделитель, Родитель – родительская страница, пункт меню, содержащий дочерний список). Также в кодах шаблонов поддерживается вставка Секции заголовка, как и разделитель это особый тип контента CMSMS (и создается также в административной панели в разделе Контент | Страницы),  который используется, чтобы разбить меню на группы (разделы). Это не имеет отношения к иерархии, а Секции заголовка не имеют связанных с ними страниц, но могут быть использованы для группирования набора ссылок со  сходным  содержанием. Грубо говоря, секция представляет собой просто  небольшой текст, связывающий ближайшие несколько ссылок.

Модуль Меню может кэшировать результаты  в статических файлах, что позволяет уменьшить потребление памяти и количество SQL- запросов, повышая производительность. Это обеспечивает все преимущества статических меню без неудобств  при создании или редактировании страниц. Каждый шаблон меню может быть помечен как ‘кэшируемый’ (при помощи галочки в столбце Кэшируется). Все кэшированные файлы меню удаляются при добавлении, редактировании и удалении контента или шаблона меню.

менеджер меню

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

Первый из них, с помощью  пункта Добавить шаблон добавить шаблон  создать меню с нуля или скопировать откуда-то, заполнив соответствующие поля (Имя и Содержание).

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

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

редактирование меню

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

код шаблона

В шаблоне меню используется некоторый Smarty код, который нужно объяснить. Самая важная часть в коде Smarty переменная $nodelist. Она содержит всю информацию, такую  как тексты меню или URL-адреса всех активных страниц нашего веб-сайта. Цикл foreach обходит  каждую страницу, сохраненную в переменной {$nodelist} и печатает HTML-код, помещенный между тегами  <foreach>  столько раз, сколько страниц найдено в переменной. Для каждого запуска значения для одной страницы сохраняются в переменной $node, которая представляет собой объект. Эта переменная создается с помощью параметра item=node в теге foreach.  Доступ к данным по конкретной сохраненной странице можно получить через  свойства объекта $node. Приведу их ниже.

Хотя мы рассмотрели простейший из встроенных шаблонов, он все-таки довольно сложен из-за большого количества условных операторов.  Приведу еще пару простых примеров.

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

Добавляем шаблон под именем footer_menu в MenuManager’е. Теперь его можно вставить на страницу или в Основной шаблон (Оформление | Шаблоны) с помощью такого тега – {menu template="footer_menu"}. На том месте страницы, где был вставлен код будет что-то вроде этого

вывод меню

Как видно, цикл foreach – мощный инструмент создания любой формы навигации, которую вы только можете себе представить. Еще один пример касается того, как может  быть создана графическая навигация.

Тут все похоже  на первый пример, только вместо текста в качестве ссылок используются картинки. В качестве названия картинок подставляются алиасы страниц.  Предварительно потребуется создать в графическом редакторе свою картинку для каждой страницы и сохранить так, чтобы ее имя совпадало с алиасом страницы ( например  cтраница Отзывы, ее алиас – otzyvy, изображение – otzyvy.jpg  и т.д.). Затем готовые изображения нужно загрузить на сайт в папку uploads/design. Читайте статью о том, как работать с изображениями и добавлять галереи в CMS Made Simple.

Соответственно для графической навигации порядок действий будет такой же – создаем шаблон меню (к примеру graphical_menu.tpl) и размещаем тег меню на странице или в Основном шаблоне – {menu template="graphical_menu"}.

MenuManager используется не только для отображения навигационной структуры сайта, но  и  участвует в  создании Карты сайта или Хлебных крошек. Это означает, что вы можете использовать зарегистрированые Smarty теги MenuManager’а {breadcrumbs} и {site_mapper}, которые по сути являются просто обертками для модуля Меню, чтобы сделать синтаксис проще.

Как вы уже наверно догадались, навигация выводится на страницу тегом {menu}, в этом случае будет показано меню, сгенерированное в соответствии с шаблоном принятым по умолчанию в Менеджере меню. Чтобы определиться какой шаблон будет применен в каждом конкретном случае  и  используется параметр template, как мы могли видеть в том же Менеджере и наших примерах. Но он далеко не единственный.

Вот основной список параметров,  которые можно использовать в теге {menu

Вот и все, что я хотела написать по этой теме. Спасибо за внимание.

Понравилась статья?
Подпишитесь на RSS по e-mail
Поделитесь в социальных сетях
Вы можете также посмотреть
Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*