Параметры wayfinder modx revo
Wayfinder 2.0.4 Меню сайта, навигация по сайту, карта сайта и т.д.
Автор: Kyle Jaebker
Wayfinder служит для организации списков ссылок для MODX. Благодаря поддержке шаблонов позволяет выводить списки в любом необходимом виде:
Основные параметры
Шаблоны
[ +wf.linktext+]
[ +wf.linktext+]
Классы
Простой вариант вызова
Использование
При отображении меню для конкретного раздела. Для основного меню сайта используется именно этот вариант.
Получаемый код меню
Примечания
Дочерние документы
где [ *id*] автоматически заменяется на ID текущего документа.
Использование
При отображении внутренних подпунктов текущего раздела сайта. Может использоваться внутри содержимого страницы.
Получаемый код меню
В виде ненумерованного списка.
Примечание
Если текущая страница не содержит дочерних документов, то меню не выводится (в том числе и код открывающегося списка)
Соседние документы/разделы
где [ *parent*] автоматически заменяется ID родителя текущего документа.
Использование
При отображении документов, которые находятся в том же разделе, что и текущий документ.
Получаемый код меню
Примечание
[ *parent*] у главной страницы равен 0.
Карта сайта
Использование
Для вывода всех документов сайта, которые помечены для вывода в меню.
Получаемый код меню
Многоуровневый ненумерованный список.
Примечание
Проверяйте результат на наличие документов, которые не выводятся в основных меню, но могут попасть в карту сайта. Так как галочка «показывать в меню» по умолчанию включена, то можно случайно пропустить служебные документы (результаты поиска, страница 404, RSS и т.д.)
Иконки в меню
В шаблоне &rowTpl добавляем код
где [ +wf.docid+] после обработки заменяется ID документа. Таким образом, для каждого конкретного документа мы можем указать свою иконку.
Примечания
Этот способ не содержит предварительной проверки на наличие картинки, поэтому в случае ее отсутствия на сайте будет показана «битая» картинка.
Чтобы исключить битые картинки можно делать подключение через CSS-класс, но при этом его придется прописывать для каждого пункта.
Параметры Wayfinder
Описание
Служит для организации меню. Позволяет организовать простые,
многоуровневые, а также выпадающие меню.
Благодаря использованию шаблона результат может быть выведен в виде
нумерованных и ненумерованых списков или любом другом.
Рассмотрим параметры, которые есть у Wayfinder. Указанные параметры относятся к первой версии.
Авторы
Версия
Примеры вызова
[[Wayfinder?
&startId=`0` &level=`3` &hideSubMenus=`1` &outerTpl=`wfOuter`
&rowTpl=`wfRow` &hereTpl=`wfHere`]]
Параметры
&startId
Идентификатор папки из которой берутся документы для
формирования результата.
Значения: Любой номер (ID) документа.
По умолчанию: Текущий документ
&level
Число уровней в глубину для сбора документов.
Значение: целое число больше либо равно нулю.
&ignoreHidden
Игнорировать галочку «Показывать в меню» и выводить такие
документы тоже.
Название переменной, которая будет использована для вывода
результата (?)
&debug
Установить режим отладки для диагностики.
&hideSubMenus
Выводить только активные меню.
&removeNewLines
Убирать символ переноса строки при выводе (?).
&textOfLinks
Поле, используемое для названия ссылки меню.
&titleOfLinks
Поле используемое для title ссылки меню.
&rowIdPrefix
Устанавливать уникальный идентификатор (id) для каждого элемента (id складывается
из значения rowIdPrefix + docId).
&useWeblinkUrl
Выводить ссылку в переменную [+wf.link+].
&showSubDocCount
Выводить количество документов в папке в переменную
[+wf.subitemcount+].
&sortOrder
Задает порядок сортировки документов.
&sortBy
Поле, по которому происходит сортировка.
Шаблоны для вывода меню
&outerTpl
Задает шаблон вывода меню.
Значение: Название используемого чанка.
&rowTpl
Задает шаблон вывода ряда меню.
Значение: Название используемого чанка.
&parentRowHereTpl
Задает шаблон вывода для текущего элемента, если это папка.
Значение: Название используемого чанка.
Возможные переменные: как у &rowTpl
&parentRowTpl
Задает шаблон вывода для всех документов, являющихся
папками.
Значение: Название используемого чанка.
Возможные переменные: как у &rowTpl
&hereTpl
Шаблон вывода для текущего документа.
Значение: Название используемого чанка.
Возможные переменные: как у &rowTpl
&innerTpl
Шаблон для всех списка всех подпапок.
Значение: Название используемого чанка.
Возможные переменные: как у &rowTpl
&innerRowTpl
Шаблон для ряда подменю.
Значение: Название используемого чанка.
Возможные переменные: как у &rowTpl
&innerHereTpl
Шаблон для текущего документа, если это подпапка.
Значение: Название используемого чанка.
Возможные переменные: как у &rowTpl
&activeParentRowTpl
Шаблон для вывода подпапок, которые являются предками
текущего документа.
Значение: Название используемого чанка.
Возможные переменные: как у &rowTpl
&categoryFoldersTpl
Шаблон для вывода папки категории. Папка категории
устанавливается установкой шаблона blank или атрибутом ссылки
rel=«category».
Значение: Название используемого чанка.
Возможные переменные: как у &rowTpl
Название назначаемых CSS-классов
&firstClass
CSS-класс
для первого пункта текущего уровня меню.
&lastClass
CSS-класс
для последнего пункта текущего уровня меню.
&hereClass
CSS-класс
указывающий состояние «Вы здесь». Определяет всю цепочку пунктов.
&selfClass
CSS-класс
указывающий состояние «Вы здесь». Определяет только текущий документ.
&parentClass
CSS-класс
указывающий пункт меню как папку (имеет вложенные документы)
&rowClass
CSS-класс
задающий каждый ряд меню.
&levelClass
CSS-класс
определяющий каждый уровень меню. Для каждого уровня может быть задан
специальный CSS-класс
(level1, level2, level3 и т.д.)
&outerClass
CSS-класс
для шаблона вывода меню.
&innerClass
CSS-класс
для шаблона вывода подпунктов меню.
&webLinkClass
CSS-класс
для ссылок меню.
Подключение CSS и Javascript к меню
*&cssTpl
CSS
для добавления на страницу.
*&jsTpl
Javascript для добавления на страницу.
MODx/Встроенные сниппеты/Wayfinder
Содержание
Информация [ править ]
Назначение: Основное назначение Wayfinder — генерировать навигационные меню, автоматически отражающие изменения в структуре сайта, однако он может быть использован и с другими целями.
Wayfinder — сниппет, сканирующий заданную часть дерева документов MODx, находящий все документы, отвечающие заданным условиям, и выводящий форматированный список этих документов.
Формат вывода определяется шаблонами, он может включать любые комбинации HTML, CSS и JavaScript, что дает невероятную степень гибкости. Эти шаблоны являются чанками (т.е. для задания какого-либо шаблона следует создать новый чанк, он то и будет являться шаблоном)
На одной странице может присутствовать несколько вызовов Wayfinder, соответственно можно создавать несколько независимых меню и списков документов.
Параметры [ править ]
Основные [ править ]
Параметры шаблона [ править ]
Эти параметры указывают чанки, содержащие шаблоны для управления выводом Wayfinder.
Пример
- [+wf.wrapper+]
Подстановщики — как в rowTpl
Подстановщики — как в rowTpl
Подстановщики — как в rowTpl
Подстановщики — как в outerTpl
Подстановщики — как в rowTpl
Подстановщики — как в rowTpl
Подстановщики — как в rowTpl
Подстановщики — как в rowTpl
Параметры имени класса CSS [ править ]
CSS можно использовать для управления видом (а в некоторых случаях — действием) различных частей выводимого фрагмента. Однако необходимо указать Wayfinder, какие имена классов CSS используются, и какие элементы разметки фрагмента связываются с ними.
Параметры включения кода (Code-Embedding) [ править ]
Если выводимый при вызове Wayfinder фрагмент требует присутствия некоторого фрагмента CSS или JavaScript, можно сохранить CSS в одном чанке, JavaScript — в другом, а затем использовать эти параметры, чтобы указать Wayfinder скопировать один или оба чанка в раздел HEAD той страницы, из которой вызван Wayfinder.
Примеры [ править ]
Простейший вызов: [ править ]
В результате будет выведен многоуровневый ненумерованный список, представляющий все дерево документов сайта ModX, при этом каждый элемент будет являться ссылкой на соответствующий документ.
Как использовать шаблоны [ править ]
Рассмотрим на примере &rowTpl. Необходимо создать чанк, например Row, в него поместить шаблон, созданный из html-кода и постановщиков:
»
- [+wf.wrapper+]
«
Затем создать запрос [[Wayfinder? &startId=`0` &rowTpl=`Row`]]
Wayfinder
Cниппет Wayfinder сканирует заданную область дерева документов MODx, находит все документы по заданным критериям (определённым в параметрах), и выводит отформатированный список этих документов. Форматирование выводимых данных выполняется при помощи шаблона, и может содержать любые комбинации HTML, CSS и JavaScript, что обеспечивает большую степень гибкости.
Поскольку вы можете вызывать Wayfinder на одной странице несколько раз, и каждый вызов может указывать на различные уровни дерева документов, вы можете создать множество меню навигации или списков документов на одной странице. В качестве примера вы можете сделать меню навигации в верхней части страницы, затем сбоку сделать дополительные меню для продуктов, сервисов, команд, и т.д., относящиеся к различным разделам дерева докуметов.
История
Wayfinder был полностью переработан из первоначального варианта DropMenu, чтобы сделать более простым создание любого необходимого меню с использованием чанков и шаблонов вывода. При использовании шаблонов для гибкого вывода меню, многие параметры, такие как таблицы, маркированный и не маркированный списки, больше не нужны.
Установка для Revolution
Минимальный вызов :
[[!Wayfinder? &startId=`0` &level=`1` ]]
В результате будет выведен многоуровневый ненумерованный список, представляющий все дерево документов сайта MODX, при этом каждый элемент будет являться ссылкой на соответствующий документ.
Параметры общего назначения
Если используется этот параметр, он добавляет уникальный id для каждого элемента. Сформированное значение будет rowIdPrefix + docId.
Пример : &rowIdPrefix=`topMenu` выведет для doc # 29:
Вариант фильтрации в стиле JSON. Например, для случая, когда нужно спрятать блог или новости от дополнения Articles : &where=`[<"class_key:!=": "Article">]`
Параметры шаблона
Эти параметры указывают на чанки, содержащие шаблоны для управления выводом Wayfinder.
В существующей версии WayFinder для Revolution вы можете осуществлять доступ к своим tv-параметрам без префикса wf., например, [[+my_TV]].
В настоящий момент возвращается необработанное значение tv-параметра, оно не будет форматировано. Например, если вашим tv-параметром является изображение, при обычном использовании tv-параметра внутри вашего шаблона вы получите тег с полным изображением, а при использовании внутри шаблона WayFinder вы получите только путь к изображению.
&outerTpl — имя чанка, содержащего внешний контейнер для генерируемых WayFinder данных. Все документы и папки будут обрабатываться и вставляться в плейсхолдер [[+wf.wrapper]]. Если &outerTpl не указан, он полагается равным »
- [[+wf.wrapper]]
«.
Используемые плейсхолдеры :
Пример &outerTpl или связанного с ним чанка :
&rowTpl — имя чанка для шаблона пункта меню
Используемые плейсхолдеры :
Примеры &rowTpl или связанного с ним чанка :
Далее, в таблице ниже показаны параметры, которые используют те же плейсхолдеры, что и &rowTpl.
Параметр | Описание |
&startItemTpl | Имя чанка, содержащего шаблон для начального документа, если это разрешено при помощи параметра &displayStart. Замечание : шаблон по умолчанию показывает начальный документ, но не дает ссылку на него. Если ссылка вам не нужна, шаблону по умолчанию может быть присвоен класс, используя параметр &firstClass=`className` |
&parentRowHereTpl | Имя чанка, содержащего шаблон для текущего документа, если он контейнер и имеет дочерние ресурсы. Используйте плейсхолдер для выдачи дочерних документов. |
&parentRowTpl | Имя чанка, содержащего шаблон для любого документа, если он контейнер и имеет дочерние ресурсы. Используйте плейсхолдер для выдачи дочерних документов. |
&hereTpl | Имя чанка, содержащего шаблон для текущего документа. |
&innerTpl | Имя чанка, содержащего шаблон для каждого подменю. Если параметр &innerTpl не указан, вместо него используется &outerTpl. |
&innerRowTpl | Имя чанка, содержащего шаблон для пунктов подменю. |
&innerHereTpl | Имя чанка, содержащего шаблон для текущего документа, если он находится в подменю. |
&activeParentRowTpl | Имя чанка, содержащего шаблон для документов, которые являются контейнерами, имеют дочерние ресурсы и в настоящее время активны. |
&categoryFoldersTpl | Имя чанка, содержащего шаблон для папок категорий. Папки категорий задаются путем установки шаблона blank или же атрибутом ссылки rel=»category». |
Параметры имени класса CSS
CSS можно использовать для управления видом (а в некоторых случаях — действием) различных частей выводимых данных. Однако, необходимо указать Wayfinder, какие имена классов CSS используются, и с какими частями выводимых данных они должны быть связаны.
Параметр | Описание | Значение по умолчанию |
&firstClass | Класс CSS для первого элемента на данном уровне меню. | |
&lastClass | Класс CSS для последнего элемента на данном уровне меню. | last |
&hereClass | Класс CSS, определяющий вашу позицию для всей цепочки. | active |
&selfClass | Класс CSS для текущего элемента. | |
&parentClass | Класс CSS для элементов меню, которые являются контейнерами и имеют дочерние элементы. | parent |
&rowClass | Класс CSS для всех пунктов меню. | |
&levelClass | Класс CSS, определяющий уровень каждого пункта меню. Номер уровня будет добавлен к указанному классу (например, level1, level2, level3 и т.д., если вы указали «level»). | |
&outerClass | Класс CSS для внешнего шаблона меню (применяется к контейнеру, использующему outerTpl). | |
&innerClass | Класс CSS внутреннего шаблона меню (применяется к контейнеру, использующему innerTpl). | |
&webLinkClass | Класс CSS для веб-ссылок. |
Параметры включения кода (Code-Embedding)
Если выводимый при вызове Wayfinder фрагмент требует присутствия некоторого фрагмента CSS или JavaScript, можно сохранить CSS в одном чанке, JavaScript — в другом, а затем использовать эти параметры, чтобы указать Wayfinder скопировать один или оба чанка в раздел HEAD той страницы, из которой вызван Wayfinder.