Wayfinder
MODX Docs
Перейти
A guide
by Kongondo
Перейти
Wayfander и Breadcrumbs
JPG
Перейти

Автор: Kyle Jaebker

Wayfinder служит для организации списков ссылок для MODX. Благодаря поддержке шаблонов позволяет выводить списки в любом необходимом виде:

  • Меню в виде списка, таблицы, изображений, с иконками и т.д.
  • Статичные меню
  • Меню с различными эффектами (выпадающие, раскрывающиеся и т.д.)
  • Карта сайта

Параметры

Основные параметры

Формат: default | breadcrumb | cssplay-basicdropdown | cssplay-dropdown | cssplay-dropline | cssplay-flyout | cssplay-flyoutrev | cssplay-upmenu | mollio | slidingdoors
Значение по умолчанию: default
Примечание: В этом файле находятся шаблоны и параметры для отображения меню. Файл конфигурации должен иметь название filename.config.php. Примеры расположены в папке: /assets/snippets/wayfinder/configs/
Пример:
&config=`breadcrumb`
Формат: 0 | 1
Значение по умолчанию: 0
Примечание: Установить режим отладки для диагностики.
Пример:
&debug=`1`
Формат: 0 | 1
Значение по умолчанию: 0
Примечание: Если &displayStart=1 заставит Wayfinder вывести ссылку на документ, используемый в качестве &startId, используя шаблон &startItemTpl. Параметр работает, если только &startId не равен нулю.
Пример:
&displayStart=`1`
Формат: ID документов, разделенных запятой
Значение по умолчанию: нет
Примечание: список любых документов, разделенный запятыми
Пример:
&excludeDocs=`6,7,8`
Формат: 0 | 1
Значение по умолчанию: 0
Примечание:
Пример:
&fullLink=`1`
Формат:
Значение по умолчанию: текущий id
Примечание: Нужно указывать только если скрипт сам его неверно определяет, например при выводе меню из чанка другого сниппета.
Пример:
&hereId=``
Формат: 0 | 1
Значение по умолчанию: 0
Примечание:
Пример:
&hideSubMenus=`1`
Формат: 0 | 1
Значение по умолчанию: 0
Примечание:
Пример:
&ignoreHidden=`1`
Формат: ID документов, разделенных запятой
Значение по умолчанию: нет
Примечание:
Пример:
&includeDocs=`5,6,7`
Формат: число
Значение по умолчанию: 0
Примечание: 0 - показывать все уровни
Пример:
&level=`3`
Формат: целое число
Значение по умолчанию: 0
Примечание: 0 - без ограничения
Пример:
&limit=`5`
Формат: плейсхолдер
Значение по умолчанию: нет
Примечание: Весь код результата будет сохранен в переменную, значение которой можно вставить в страницу при помощи плейсхолдера с именем переменной.
Пример:
&ph=`wf_menu`
Формат: 0 | 1
Значение по умолчанию: 0
Примечание: Убирать символ переноса строки при выводе. т. е. весь результирующий код будет в виде одной строки.
Пример:
&removeNewLines=`1`
Формат:
Значение по умолчанию: нет
Примечание: Добавлять префикс к идентификатору (id) для каждого элемента (id складывается из значения rowIdPrefix + docId)
Пример:
&rowIdPrefix=``
Формат: 0 | 1
Значение по умолчанию: 0
Примечание:
Пример:
&showSubDocCount=`1`
Формат: id | menutitle | pagetitle | introtext | menuindex | pub_date | published | hidemenu | parent | isfolder | description | alias | longtitle | type | template | random
Значение по умолчанию: menuindex
Примечание: id, menutitle, pagetitle, introtext, menuindex, published, hidemenu, parent, isfolder, description, alias, longtitle, type, template, random
Пример:
&sortBy=`pagetitle`
Формат: ASC | DESC
Значение по умолчанию: ASC
Примечание: ASC - по возрастанию | DESC - по убыванию
Пример:
&sortOrder=`DESC`
Формат: ID документа
Значение по умолчанию: текущий документ
Примечание: Любой номер (ID) документа-контейнера.
Пример:
&startId=`0`
Формат: menutitle | id | pagetitle | description | parent | alias | longtitle | introtext
Значение по умолчанию: menutitle
Примечание:
Пример:
&textOfLinks=`longtitle`
Формат: menutitle | id | pagetitle | description | parent | alias | longtitle | introtext
Значение по умолчанию: pagetitle
Примечание:
Пример:
&titleOfLinks=`longtitle`
Формат: 0 | 1
Значение по умолчанию: 0
Примечание:
Пример:
&useWeblinkUrl=`1`
Формат:
Значение по умолчанию: нет
Примечание: Соответствует where в MySQL
Пример:
&where=`isfolder = 1`

Шаблоны

Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <li[+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]</a>[+wf.wrapper+]</li>
Пример:
&activeParentRowTpl=`activeParentRowTpl`
Формат: имя чанка
Значение по умолчанию: нет
Примечание: Категория определяется установкой шаблона blank или атрибутом ссылки rel="category".
Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <li[+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]</a>[+wf.wrapper+]</li>
Пример:
&categoryFoldersTpl=`categoryFoldersTpl`
Формат: имя чанка
Значение по умолчанию: нет
Примечание:
Пример:
&cssTpl=`cssTpl`
Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <li[+wf.classes+]><span>[+wf.linktext+]</span>[+wf.wrapper+]</li>
Пример:
&hereTpl=`hereTpl`
Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <li[+wf.classes+]><span>[+wf.linktext+]</span>[+wf.wrapper+]</li>
Пример:
&innerHereTpl=`innerHereTpl`
Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <li[+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]</a>[+wf.wrapper+]</li>
Пример:
&innerRowTpl=`innerRowTpl`
Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.wrapper+] - место где будет выводиться содержимое меню.
Пример шаблона: <ul [+wf.classes+]>[+wf.wrapper+]</ul>
Пример:
&innerTpl=`innerTpl`
Формат: имя чанка
Значение по умолчанию: нет
Примечание:
Пример:
&jsTpl=`jsTpl`
Формат: имя чанка
Значение по умолчанию: rowTpl
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <li[+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]</a>[+wf.wrapper+]</li>
Пример:
&lastRowTpl=`lastRowTpl`
Формат: имя чанка
Значение по умолчанию: <ul[+wf.classes+]>[+wf.wrapper+]</ul>
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.wrapper+] - место где будет выводиться содержимое меню.
Пример шаблона: <ul id="topnav" [+wf.classes+]>[+wf.wrapper+]</ul>
Пример:
&outerTpl=`outerTpl`
Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <li[+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]»</a>[+wf.wrapper+]</li>
Пример:
&parentRowHereTpl=`parentRowHereTpl`
Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <li[+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]»</a>[+wf.wrapper+]</li>
Пример:
&parentRowTpl=`parentRowTpl`
Формат: имя чанка
Значение по умолчанию: <li[+wf.id+][+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]" [+wf.attributes+]>[+wf.linktext+]</a>[+wf.wrapper+]</li>
Примечание: Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <li[+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]</a>[+wf.wrapper+]</li>
Пример:
&rowTpl=`rowTpl`
Формат: имя чанка
Значение по умолчанию: <h2[+wf.id+][+wf.classes+]>[+wf.linktext+]</h2>[+wf.wrapper+]
Примечание: Используется при &displayStart=`1`
Возможные плэйсхолдеры:
[+wf.classes+] - место для указания используемого CSS-класса (включает class=" ")
[+wf.classnames+] - содержит только название CSS-класса (не включает class=" ")
[+wf.link+] - адрес (href) для ссылки
[+wf.title+] - текст для title ссылки
[+wf.linktext+] - текст названия ссылки
[+wf.wrapper+] - место для вывода подменю
[+wf.id+] - вывод уникального идентификатора (id)
[+wf.attributes+] - вывод дополнительных атрибутов ссылки
[+wf.docid+] - идентификатор документа для текущего элемента
[+wf.subitemcount+] -количество элементов в папке
[+wf.description+] - выводит значения поля описания
[+wf.introtext+] - выводит значения поля интротекста
Пример шаблона: <h2>[+wf.linktext+]</h2>[+wf.wrapper+]
Пример:
&startItemTpl=`startItemTpl`

Классы

Формат: название CSS класса
Значение по умолчанию: нет
Примечание:
Пример:
&firstClass=`firstClass`
Формат: название CSS класса
Значение по умолчанию: active
Примечание:
Пример:
&hereClass=`hereClass`
Формат: название CSS класса
Значение по умолчанию: нет
Примечание:
Пример:
&innerClass=`innerClass`
Формат: название CSS класса
Значение по умолчанию: last
Примечание:
Пример:
&lastClass=`lastClass`
Формат: название CSS класса
Значение по умолчанию: нет
Примечание: Число уровня будет добавлено к указанному классу (то есть level1, level2, level3, и т.д... )
Пример:
&levelClass=`level`
Формат: название CSS класса
Значение по умолчанию: нет
Примечание:
Пример:
&outerClass=`outerClass`
Формат: название CSS класса
Значение по умолчанию: нет
Примечание:
Пример:
&parentClass=`parentClass`
Формат: название CSS класса
Значение по умолчанию: нет
Примечание:
Пример:
&rowClass=`rowClass`
Формат: название CSS класса
Значение по умолчанию: нет
Примечание: Определяет только текущий документ.
Пример:
&selfClass=`selfClass`
Формат: название CSS класса
Значение по умолчанию: нет
Примечание:
Пример:
&webLinkClass=`webLinkClass`

Примеры

Простой вариант вызова

[[Wayfinder? &startId=`15`]]

где 15 - папка, из которой нам необходимо вывести документы в меню

Использование

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

Получаемый код меню

Ненумерованный список.

Примечания

Параметр level по умолчанию равен 0 (показывать все опубликованные документы).
Чтобы отобразить все документы, начиная с первого уровня, необходимо указать &startId=`0`.

Дочерние документы

[[Wayfinder? &startId=`[*id*]`]]

где [*id*] автоматически заменяется на ID текущего документа.

Использование

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

Получаемый код меню

В виде ненумерованного списка.

Примечание

Если текущая страница не содержит дочерних документов, то меню не выводится (в том числе и код открывающегося списка)

Соседние документы/разделы

[[Wayfinder? &startId=`[*parent*]`]]

где [*parent*] автоматически заменяется ID родителя текущего документа.

Использование

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

Получаемый код меню

Ненумерованный список.

Примечание

[*parent*] у главной страницы равен 0.

Карта сайта

[[Wayfinder? &startId=`0`]]

Использование

Для вывода всех документов сайта, которые помечены для вывода в меню.

Получаемый код меню

Многоуровневый ненумерованный список.

Примечание

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

Иконки в меню

В шаблоне &rowTpl добавляем код

<img src="/assets/images/pic/menu[+wf.docid+].gif">

где [+wf.docid+] после обработки заменяется ID документа. Таким образом, для каждого конкретного документа мы можем указать свою иконку.

Примечания

Этот способ не содержит предварительной проверки на наличие картинки, поэтому в случае ее отсутствия на сайте будет показана «битая» картинка.
Чтобы исключить битые картинки можно делать подключение через CSS-класс, но при этом его придется прописывать для каждого пункта.

Начиная с версии 2.0.2 шаблоны Wayfinder поддерживают поля документа, такие как [+pagetitle+] и [+longtitle+], а также TV-параметры, что позволяет подключать иконки таким образом: <img src="[+tvName+]">.

Поделитесь ссылкой

Статистика

Яндекс цитирования
© 2011 - 2023 Школа MODX
Напишите нам в Telegram