- Главная
- Документация
- Wayfinder
- 180603
- Июль 2014
Автор: Kyle Jaebker
Wayfinder служит для организации списков ссылок для MODX. Благодаря поддержке шаблонов позволяет выводить списки в любом необходимом виде:
- Меню в виде списка, таблицы, изображений, с иконками и т.д.
- Статичные меню
- Меню с различными эффектами (выпадающие, раскрывающиеся и т.д.)
- Карта сайта
Основные параметры
Значение по умолчанию:
default
Примечание: В этом файле находятся шаблоны и параметры для отображения меню. Файл конфигурации должен иметь название filename.config.php. Примеры расположены в папке:
/assets/snippets/wayfinder/configs/
Пример:
&config=`breadcrumb`
Значение по умолчанию: 0
Примечание: Установить режим отладки для диагностики.
Пример:
&debug=`1`
Значение по умолчанию: 0
Примечание: Если &displayStart=1 заставит Wayfinder вывести ссылку на документ, используемый в качестве &startId, используя шаблон &startItemTpl. Параметр работает, если только &startId не равен нулю.
Пример:
&displayStart=`1`
Значение по умолчанию: нет
Примечание: список любых документов, разделенный запятыми
Пример:
&excludeDocs=`6,7,8`
Значение по умолчанию: 0
Примечание:
Пример:
&fullLink=`1`
Значение по умолчанию: текущий id
Примечание: Нужно указывать только если скрипт сам его неверно определяет, например при выводе меню из чанка другого сниппета.
Пример:
&hereId=``
Значение по умолчанию: 0
Примечание:
Пример:
&hideSubMenus=`1`
Значение по умолчанию: 0
Примечание:
Пример:
&ignoreHidden=`1`
Значение по умолчанию: нет
Примечание:
Пример:
&includeDocs=`5,6,7`
Значение по умолчанию: 0
Примечание: 0 - показывать все уровни
Пример:
&level=`3`
Значение по умолчанию: 0
Примечание: 0 - без ограничения
Пример:
&limit=`5`
Значение по умолчанию: нет
Примечание: Весь код результата будет сохранен в переменную, значение которой можно вставить в страницу при помощи плейсхолдера с именем переменной.
Пример:
&ph=`wf_menu`
Значение по умолчанию: 0
Примечание: Убирать символ переноса строки при выводе. т. е. весь результирующий код будет в виде одной строки.
Пример:
&removeNewLines=`1`
Значение по умолчанию: нет
Примечание: Добавлять префикс к идентификатору (id) для каждого элемента (id складывается из значения rowIdPrefix + docId)
Пример:
&rowIdPrefix=``
Значение по умолчанию: 0
Примечание:
Пример:
&showSubDocCount=`1`
Значение по умолчанию: menuindex
Примечание: id, menutitle, pagetitle, introtext, menuindex, published, hidemenu, parent, isfolder, description, alias, longtitle, type, template, random
Пример:
&sortBy=`pagetitle`
Значение по умолчанию: ASC
Примечание: ASC - по возрастанию | DESC - по убыванию
Пример:
&sortOrder=`DESC`
Значение по умолчанию: текущий документ
Примечание: Любой номер (ID) документа-контейнера.
Пример:
&startId=`0`
Значение по умолчанию: menutitle
Примечание:
Пример:
&textOfLinks=`longtitle`
Значение по умолчанию: pagetitle
Примечание:
Пример:
&titleOfLinks=`longtitle`
Значение по умолчанию: 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`
Классы
Значение по умолчанию: нет
Примечание:
Пример:
&firstClass=`firstClass`
Значение по умолчанию: active
Примечание:
Пример:
&hereClass=`hereClass`
Значение по умолчанию: нет
Примечание:
Пример:
&innerClass=`innerClass`
Значение по умолчанию: last
Примечание:
Пример:
&lastClass=`lastClass`
Значение по умолчанию: нет
Примечание: Число уровня будет добавлено к указанному классу (то есть level1, level2, level3, и т.д... )
Пример:
&levelClass=`level`
Значение по умолчанию: нет
Примечание:
Пример:
&outerClass=`outerClass`
Значение по умолчанию: нет
Примечание:
Пример:
&parentClass=`parentClass`
Значение по умолчанию: нет
Примечание:
Пример:
&rowClass=`rowClass`
Значение по умолчанию: нет
Примечание: Определяет только текущий документ.
Пример:
&selfClass=`selfClass`
Значение по умолчанию: нет
Примечание:
Пример:
&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+]">
.