MODx Revolution — меню
Главная Статьи и Медиа WEB технологии MODx Revolution MODx Revolution — меню
MODx Revolution — меню

MODx Revolution по шагам — шаг пятый

Какой сайт без меню, главного и специальных?
Поговорим о расширении MODx Revolution — Wayfinder



Тэги (метки): MODx, WEB, технологии, сайт

 

На предыдущий шаг...

Тестовый (учебный) сайт располжен по адресу: http://test.grandikos.com

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

Для начала разделы будут следущие:

  1. Примеры страниц. Пока в этот раздел я просто вставлю пару страниц из шаблона-прототипа. В дальнейшем, этот раздел переименуется в "Проекты"  и послужит демонстрационной площадкой для уже моих дизайнерских изысков.
  2. Блог. С этим разделом всё понятно и без разъяснений. Просто, в дальнейшем я покажу как с помощью MODx Revolution "сделать" полноценный блог.
  3. Статьи и публикации.
  4. Тестовые площадки. Со ссылками на тестовые площадки других движков. Туда я вставлю и ссылку на шаблон-прототип, чтобы иногда сравнивать или брать куски HTML кода.

 

MODx. Ресурсы тестового сайта

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

Ну что, начнём разбираться с реализацией меню?

Во первых, найдём и установим дополнение MODx — Wayfinder.   Как искать и устанавливать расширения я говорил в статье "MODx Revolution — настройки"

Теперь, о самом сниппете Wayfinder и о том, как "притянуть" к нему все те красивости, которые мы наблюдаем в меню шаблона-первоисточника. Это и выпадающие подменю и  отъезжающие при наведении строчки.

Все эти красивости реализованы с помощью классов CSS и Ява скриптов. На данном этапе, трогать первоисточник мы не будем, а попробуем с помощью чанков MODx Rtvolution создать нужные HTML шаблоны и вставить их в виде атрибутов в сниппет Wayfinder.

Wayfinder является сниппетом, который сканирует заданную часть дерева документов MODx, находит все документы, удовлетворяющие определенным критериям (определяется параметрами), и выводит отформатированный список этих документов. Форматирование осуществляется с помощью шаблонов, и может содержать любые комбинации HTML, CSS и JavaScript, что дает огромную гибкость.

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

Параметры

из руководства на сайте разработчиков MODX с частичным переводом

(используются  при вызове сниппета)

ПараметрОписаниеУмолчание
&startId Отправная точка (document ID) для меню к списку документов. Укажите 0, чтобы начать с корня сайта. current docId
&displayStart Показать документ как ссылку на &startId в меню FALSE
&level Глубина (количество уровней) для построения меню. '0 ' показывает через все уровни. 0
&ignoreHidden Не обращать внимания на "Показывать в меню" флажок для документов, и включить их в меню в любом случае. FALSE
&ph Name of a placeholder to set with the output results, instead of directly returning the output. FALSE
&debug Set to 'TRUE' to enable debug mode for extra troubleshooting. FALSE
&hideSubMenus Set to 'TRUE' to only output the active submenu. FALSE
&removeNewLines Set to 'TRUE' to remove newline characters from the output. FALSE
&textOfLinks Поле, чтобы получить сам текст ссылки. Возможные значения: menutitle, id, pagetitle, description, parent, alias, longtitle, introtext menutitle
&titleOfLinks Поле, чтобы получить название ссылки. Возможные значения: menutitle, id, pagetitle, description, parent, alias, longtitle, introtext pagetitle
&rowIdPrefix If set, this parameter creates a unique ID for each item. The value will be rowIdPrefix + docId. FALSE
&useWeblinkUrl When set to TRUE, the link specified in a weblink document will be output to the placeholder [wf.link] instead of the link to the weblink. TRUE
&excludeDocs Разделенный запятыми список идентификаторов документов, которые необходимо исключить из меню. 0
&cacheResults caches queries for faster loading (added in 2.2.0-rc1)  
&contexts Contexts to use for building the menu. Defaults to the current context. (added in 2.2.0-rc1)  
&startIdContext (added in 2.2.0-rc1)  
&config external php file to configure Wayfinder (see core/components/wayfinder/configs for examples)  
&scheme format for how URLs are generated. Possible values are (based on makeURL API call):
  • -1 : (default value) URL is relative to site_url
  • 0 : see http
  • 1 : see https
  • full : URL is absolute, prepended with site_url from config
  • abs : URL is absolute, prepended with base_url from config
  • http : URL is absolute, forced to http scheme
  • https : URL is absolute, forced to https scheme
     (added in 2.3.1-pl)
-1
&sortBy
  Какое поле используется для сортировки, например "опубликовал"
&sortOrder Порядок сортировки "по возрастанию" или "по убыванию" ( 'ASC' или 'DESC')

 

 Короче, вызывать Wayfinder будем так (из чанка "HEADER", естественно):

код вызова Wayfinder

А вот и чанки шаблонов для пытливых умов. Картинки увеличиваются при шелчке мышкой...

"чанк" шаблона оболочки главного меню

"чанк" шаблона оболочки подменю

"чанк" шаблона строки меню

"чанк" шаблона строки подменю

И, наконец, скриншот результата нашего плодотворного труда...

Тестовый сайт с меню

 По аналогии, будем действовать и с другими встреченными в шаблоне-прототипе меню, но все остальные шаги позже, поэтому...

... продолжение следует...

GRANDIKOS


Grandikos Если Вам нравится сайт, а главное, статьи и обучающие материалы, на нём представленные... Вы можете стимулировать автора, бросив на его счёт любую "символическую" сумму, что, неизбежно, подвигнет его на дальнейшее проявление здорового альтруизма...
Кстати, если Вы, к тому же, вместе с "пожертвованием" оставите и комментарий, содержащий ВАШИ пожелания на будущее, то автор непременно учтёт их при планировании своей работы...


Счет на "Яндекс деньги": 41001131476679

Кошельки "WEB money":

Z148021440215
R515650544848


GRANDIKOS

2007—2017 © ТМИП | Все права защищены

К началу