Modx revo wayfinder параметры: Wayfinder — Школа MODX

Содержание

Параметры Wayfinder / Хабр

Описание


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

Рассмотрим параметры, которые есть у Wayfinder. Указанные параметры относятся к первой версии.

Авторы


  • Kyle Jaebker (muddydogpaws.com)
  • Ryan
    Thrash (vertexworks.com)

Версия


2.0

Примеры вызова


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

[[Wayfinder?
&startId=`0` &level=`3` &hideSubMenus=`1` &outerTpl=`wfOuter`
&rowTpl=`wfRow` &hereTpl=`wfHere`]]

Параметры


&startId


Идентификатор папки из которой берутся документы для
формирования результата.

Значения: Любой номер (ID) документа.

По умолчанию: Текущий документ

&level


Число уровней в глубину для сбора документов.

Значение: целое число больше либо равно нулю.

По умолчанию: 0

&ignoreHidden


Игнорировать галочку «Показывать в меню» и выводить такие
документы тоже.

Значения:


По умолчанию: false

&ph


Название переменной, которая будет использована для вывода
результата (?)

Значения:

  • любое название переменной
  • false

По умолчанию: false

&debug


Установить режим отладки для диагностики.

Значения:


По умолчанию: false

&hideSubMenus


Выводить только активные меню.

Значения:


По умолчанию: false

&removeNewLines


Убирать символ переноса строки при выводе (?).

Значения:


По умолчанию: false

&textOfLinks


Поле, используемое для названия ссылки меню.

Значения:

  • menutitle
  • id
  • pagetitle
  • description
  • parent
  • alias
  • longtitle
  • introtext

По умолчанию: menutitle

&titleOfLinks


Поле используемое для title ссылки меню.

Значения:

  • menutitle
  • id
  • pagetitle
  • description
  • parent
  • alias
  • longtitle
  • introtext

По умолчанию: pagetitle

&rowIdPrefix


Устанавливать уникальный идентификатор (id) для каждого элемента (id складывается
из значения rowIdPrefix + docId).

Значения:


По умолчанию: false

&useWeblinkUrl


Выводить ссылку в переменную [+wf.link+].

Значения:


По умолчанию: true

&showSubDocCount


Выводить количество документов в папке в переменную
[+wf.subitemcount+].

Значения:


По умолчанию: false

&sortOrder


Задает порядок сортировки документов.

Значения:


По умолчанию: ASC

&sortBy


Поле, по которому происходит сортировка.

Значения:

  • id
  • menutitle
  • pagetitle
  • introtext
  • menuindex
  • published
  • hidemenu
  • parent
  • isfolder
  • description
  • alias
  • longtitle
  • type
  • template

По умолчанию: menuindex

Шаблоны для вывода меню


&outerTpl


Задает шаблон вывода меню.

Значение: Название используемого чанка.

Возможные переменные:

  • [+wf.classes+] — место для указания
    используемого CSS-класса
    (включает)
  • [+wf.classnames+] — содержит только название CSS-класса (не включает)
  • [+wf.wrapper+] — место где будет выводиться
    содержимое меню.

Пример:
[+wf.wrapper+]

&rowTpl


Задает шаблон вывода ряда меню.

Значение: Название используемого чанка.

Возможные переменные:

  • [+wf.classes+] — место для указания
    используемого CSS-класса
    (включает)
  • [+wf.classnames+] — содержит только название CSS-класса (не включает)
  • [+wf.link+] — адрес (href) для ссылки
  • [+wf.title+] — текст для title ссылки
  • [+wf.linktext+] — текст названия ссылки
  • [+wf.wrapper+] — место для вывода подменю
  • [+wf.id+] — вывод уникального идентификатора (id)
  • [+wf.attributes+] — вывод дополнительных
    атрибутов ссылки
  • [+wf.docid+] — идентификатор документа для
    текущего элемента
  • [+wf.subitemcount+] -количество элементов в
    папке
  • [+wf.description+] — выводит значения поля
    описания.
  • [+wf.introtext+] — выводит значения поля
    интротекста

Пример:

title=»[+wf.title+]» [+wf.attributes+]>[+wf.linktext+][+wf.wrapper+]

&parentRowHereTpl


Задает шаблон вывода для текущего элемента, если это папка.

Значение: Название используемого чанка.

Возможные переменные: как у &rowTpl

Пример:
<li[+wf.classes+]><a href=»[+wf.link+]»
title=»[+wf.title+]»>[+wf.linktext+]»[+wf.wrapper+]

&parentRowTpl


Задает шаблон вывода для всех документов, являющихся
папками.

Значение: Название используемого чанка.

Возможные переменные: как у &rowTpl

Пример:
<li[+wf.classes+]><a href=»[+wf.link+]»
title=»[+wf.title+]»>[+wf.linktext+]»[+wf.wrapper+]

&hereTpl


Шаблон вывода для текущего документа.

Значение: Название используемого чанка.

Возможные переменные: как у &rowTpl

Пример:
<li[+wf.classes+]>[+wf.linktext+][+wf.wrapper+]

&innerTpl


Шаблон для всех списка всех подпапок.

Значение: Название используемого чанка.

Возможные переменные: как у &rowTpl

Пример:
<ul[+wf.classes+]>[+wf.wrapper+]

&innerRowTpl


Шаблон для ряда подменю.

Значение: Название используемого чанка.

Возможные переменные: как у &rowTpl

Пример:
<li[+wf.classes+]><a href=»[+wf.link+]»
title=»[+wf.title+]»>[+wf.linktext+][+wf.wrapper+]

&innerHereTpl


Шаблон для текущего документа, если это подпапка.

Значение: Название используемого чанка.

Возможные переменные: как у &rowTpl

Пример:
<li[+wf.classes+]>[+wf.linktext+][+wf.wrapper+]

&activeParentRowTpl


Шаблон для вывода подпапок, которые являются предками
текущего документа.

Значение: Название используемого чанка.

Возможные переменные: как у &rowTpl

Пример:
<li[+wf.classes+]><a href=»[+wf.link+]»
title=»[+wf.title+]»>[+wf.linktext+][+wf.wrapper+]

&categoryFoldersTpl


Шаблон для вывода папки категории. Папка категории
устанавливается установкой шаблона blank или атрибутом ссылки
rel=«category».

Значение: Название используемого чанка.

Возможные переменные: как у &rowTpl

Пример: <li[+wf.classes+]><a href=»[+wf.link+]»
title=»[+wf.title+]»>[+wf.linktext+][+wf.wrapper+]

Название назначаемых CSS-классов


&firstClass


CSS-класс
для первого пункта текущего уровня меню.

Значение:

  • none
    (отсутствует)
  • название CSS-класса.

Значение по умолчанию: none (отсутствует)

&lastClass


CSS-класс
для последнего пункта текущего уровня меню.

Значение:

  • last
  • название CSS-класса.

Значение по умолчанию: last

&hereClass


CSS-класс
указывающий состояние «Вы здесь». Определяет всю цепочку пунктов.

Значение:

  • here
  • название CSS-класса.

Значение по умолчанию: here

&selfClass


CSS-класс
указывающий состояние «Вы здесь». Определяет только текущий документ.

Значение:

  • none
    (отсутствует)
  • название CSS-класса.

Значение по умолчанию: none (отсутствует)

&parentClass


CSS-класс
указывающий пункт меню как папку (имеет вложенные документы)

Значение:

  • parent
  • название CSS-класса.

Значение по умолчанию: parent

&rowClass


CSS-класс
задающий каждый ряд меню.

Значение:

  • none
    (отсутствует)
  • название CSS-класса.

Значение по умолчанию: none (отсутствует)

&levelClass


CSS-класс
определяющий каждый уровень меню. Для каждого уровня может быть задан
специальный CSS-класс
(level1, level2, level3 и т.д.)

Значение:

  • none
    (отсутствует)
  • название CSS-класса.

Значение по умолчанию: none (отсутствует)

&outerClass


CSS-класс
для шаблона вывода меню.

Значение:

  • none
    (отсутствует)
  • название CSS-класса.

Значение по умолчанию: none (отсутствует)

&innerClass


CSS-класс
для шаблона вывода подпунктов меню.

Значение:

  • none
    (отсутствует)
  • название CSS-класса.

Значение по умолчанию: none (отсутствует)

&webLinkClass


CSS-класс
для ссылок меню.

Значение:

  • none
    (отсутствует)
  • название CSS-класса.

Значение по умолчанию: none (отсутствует)

Подключение CSS и Javascript к меню


*&cssTpl


CSS
для добавления на страницу.

Значение:

  • название чанка с CSS
  • false

Значение по умолчанию: false

*&jsTpl


Javascript для добавления на страницу.

Значение:

  • название чанка с Javascript
  • false

Значение по умолчанию: false

Ссылка: Сниппет Wayfinder 2

Wayfinder, компонент для создания меню

Отредактировано: 16 Октября 2019

Wayfinder — компонент для создания меню или списка ссылок. Существует как для MODX evo так и для revo.

Параметры

&config — Имя внешнего php файла с настройками меню

Формат: 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`

&debug — Режим отладки

Формат: 0 | 1
Значение по умолчанию: 0
Примечание:
Установить режим отладки для диагностики.
Пример:

&debug=`1`

&displayStart — Показать начальную папку, указанную в startId

Формат: 0 | 1
Значение по умолчанию: 0
Примечание: Если &displayStart=1 заставит Wayfinder вывести ссылку на документ, используемый в качестве &startId, используя шаблон &startItemTpl. Параметр работает, если только &startId не равен нулю.
Пример:

&displayStart=`1`

&excludeDocs — Исключаемые документы

Формат: ID документов, разделенных запятой
Значение по умолчанию: нет
Примечание: список любых документов, разделенный запятыми
Пример:

&excludeDocs=`6,7,8`

&fullLink — Вывести полный URL

Формат: 0 | 1
Значение по умолчанию: 0
Пример:

&fullLink=`1`

&hereId — Id документа, текущего для генерируемого меню.

Значение по умолчанию: текущий id
Примечание: Нужно указывать только если скрипт сам его неверно определяет, например при выводе меню из чанка другого сниппета.
Пример:

&hereId=``

&hideSubMenus — Скрывать подменю и выводить для активного пункта

Формат: 0 | 1
Значение по умолчанию: 0
Пример:

&hideSubMenus=`1`

&ignoreHidden — Выводить документы не отмеченные для показа в меню

Формат: 0 | 1
Значение по умолчанию: 0
Пример:

&ignoreHidden=`1`

&includeDocs — Документы, обязательные для вывода

Формат: ID документов, разделенных запятой
Значение по умолчанию: нет
Пример:

&includeDocs=`5,6,7`

&level — Количество уровней в меню

Формат: число
Значение по умолчанию: 0
Примечание: 0 — показывать все уровни
Пример:

&level=`3`

&limit — Максимальное число пунктов меню

Формат: целое число
Значение по умолчанию: 0
Примечание: 0 — без ограничения
Пример:

&limit=`5`

&ph — Вывод результата в плейсхолдер

Формат: плейсхолдер
Значение по умолчанию: нет
Примечание: Весь код результата будет сохранен в переменную, значение которой можно вставить в страницу при помощи плейсхолдера с именем переменной.
Пример:

&ph=`wf_menu`

&removeNewLines — Удалять символ переноса в результате

Формат: 0 | 1
Значение по умолчанию: 0
Примечание: Убирать символ переноса строки при выводе. т. е. весь результирующий код будет в виде одной строки.
Пример:

&removeNewLines=`1`

&rowIdPrefix — Добавлять префикс к id для каждой ссылки

Значение по умолчанию: нет
Примечание: Добавлять префикс к идентификатору (id) для каждого элемента (id складывается из значения rowIdPrefix + docId)
Пример:

&rowIdPrefix=``

&showSubDocCount — Выводить количество документов в плейсхолдер wf.subitemcount

Формат: 0 | 1
Значение по умолчанию: 0
Пример:

&showSubDocCount=`1`

&sortBy — Параметр используемый для сортировки

Формат: 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`

&sortOrder — Порядок сортировки документов

Формат: ASC | DESC
Значение по умолчанию: ASC
Примечание: ASC — по возрастанию | DESC — по убыванию
Пример:

&sortOrder=`DESC`

&startId — Источник документов для меню

Формат: ID документа
Значение по умолчанию: текущий документ
Примечание: Любой номер (ID) документа— контейнера.
Пример:

&startId=`0`

&textOfLinks — Параметр для названия ссылки

Формат: menutitle | id | pagetitle | description | parent | alias | longtitle | introtext
Значение по умолчанию: menutitle
Пример:

&textOfLinks=`longtitle`

&titleOfLinks — Параметр для title ссылки

Формат: menutitle | id | pagetitle | description | parent | alias | longtitle | introtext
Значение по умолчанию: pagetitle
Пример:

&titleOfLinks=`longtitle`

&useWeblinkUrl — Вывод ссылки в плейсхолдер wf.link

Формат: 0 | 1
Значение по умолчанию: 0
Пример:

&useWeblinkUrl=`1`

&where — Дополнительные условия запроса в БД (v 2.0.2)

Значение по умолчанию: нет
Примечание: Соответствует where в MySQL
Пример:

&where=`isfolder = 1`

Шаблоны

&activeParentRowTpl — Шаблон родителей текущего пункта меню

Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+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`

&categoryFoldersTpl — Шаблон вывода категории

Формат: имя чанка
Значение по умолчанию: нет
Примечание: Категория определяется установкой шаблона blank или атрибутом ссылки rel="category".
Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+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 — Имя чанка содержащего CSS

Формат: имя чанка
Значение по умолчанию: нет
Пример:

&cssTpl=`cssTpl`

&hereTpl — Шаблон текущего пункта

Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+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`

&innerHereTpl — Шаблон текущего пункта подменю

Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+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`

&innerRowTpl — Шаблон для пункта подменю

Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+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`

&innerTpl — Шаблон для подпапок

Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+wf.wrapper]] — место где будет выводиться содержимое меню.
Пример шаблона: <ul [[+wf.classes]]>[[+wf.wrapper]]</ul>
Пример:

&innerTpl=`innerTpl`

&jsTpl — Имя чанка содержащего JavaScript

Формат: имя чанка
Значение по умолчанию: нет
Пример:

&jsTpl=`jsTpl`

&lastRowTpl — Шаблон последнего пункта меню (v 2.0.3)

Формат: имя чанка
Значение по умолчанию: rowTpl
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+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`

&outerTpl — Шаблон контейнера меню

Формат: имя чанка
Значение по умолчанию: <ul[[+wf.classes]]>[[+wf.wrapper]]</ul>
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+wf.wrapper]] — место где будет выводиться содержимое меню.
Пример шаблона: <ul [[+wf.classes]]>[[+wf.wrapper]]</ul>
Пример:

&outerTpl=`outerTpl`

&parentRowHereTpl — Шаблон вывода активного документа— контейнера

Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+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`

&parentRowTpl — Шаблон документа контейнера

Формат: имя чанка
Значение по умолчанию: нет
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+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`

&rowTpl — Шаблон пункта меню

Формат: имя чанка
Значение по умолчанию: <li[[+wf.id]][[+wf.classes]]><a href="[[+wf.link]]" title="[[+wf.title]]" [[+wf.attributes]]>[[+wf.linktext]]</a>[[+wf.wrapper]]</li>
Примечание: Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+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`

&startItemTpl — Шаблон ссылки на начальную папку, указанную в startId

Формат: имя чанка
Значение по умолчанию: <h3[[+wf.id]][[+wf.classes]]>[[+wf.linktext]]</h3>[[+wf.wrapper]]
Примечание: Используется при &displayStart=`1`
Возможные плэйсхолдеры:
[[+wf.classes]] — место для указания используемого CSS-класса (включает)
[[+wf.classnames]] — содержит только название CSS-класса (не включает)
[[+wf.link]] — адрес (href) для ссылки
[[+wf.title]] — текст для title ссылки
[[+wf.linktext]] — текст названия ссылки
[[+wf.wrapper]] — место для вывода подменю
[[+wf.id]] — вывод уникального идентификатора (id)
[[+wf.attributes]] — вывод дополнительных атрибутов ссылки
[[+wf.docid]] — идентификатор документа для текущего элемента
[[+wf.subitemcount]] — количество элементов в папке
[[+wf.description]] — выводит значения поля описания
[[+wf.introtext]] — выводит значения поля интротекста
Пример шаблона: <h3>[[+wf.linktext]]</h3>[[+wf.wrapper]]
Пример:

&startItemTpl=`startItemTpl`

Классы

&firstClass — CSS-класс первого пункта меню на данном уровне

Формат: название CSS класса
Значение по умолчанию: нет
Пример:

&firstClass=`firstClass`

&hereClass — CSS-класс текущей цепочки пунктов меню

Формат: название CSS класса
Значение по умолчанию: active
Пример:

&hereClass=`hereClass`

&innerClass — CSS-класс для подпунктов меню

Формат: название CSS класса
Значение по умолчанию: нет
Пример:

&innerClass=`innerClass`

&lastClass — CSS-класс последнего пункта меню

Формат: название CSS класса
Значение по умолчанию: last
Пример:

&lastClass=`lastClass`

&levelClass — CSS-класс для каждого уровня меню

Формат: название CSS класса
Значение по умолчанию: нет
Примечание: Число уровня будет добавлено к указанному классу (то есть level1, level2, level3, и т.д… )
Пример:

&levelClass=`level`

&outerClass — CSS-класс для контейнера меню

Формат: название CSS класса
Значение по умолчанию: нет
Пример:

&outerClass=`outerClass`

&parentClass — CSS-класс документов-контейнеров

Формат: название CSS класса
Значение по умолчанию: нет
Пример:

&parentClass=`parentClass`

&rowClass — CSS-класс для всех пунктов меню

Формат: название CSS класса
Значение по умолчанию: нет
Пример:

&rowClass=`rowClass`

&selfClass — CSS-класс текущего пункта меню

Формат: название CSS класса
Значение по умолчанию: нет
Примечание: Определяет только текущий документ.
Пример:

&selfClass=`selfClass`

&webLinkClass — CSS-класс для пунктов меню — ссылок

Формат: название CSS класса
Значение по умолчанию: нет
Пример:

&webLinkClass=`webLinkClass`

Примеры

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


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

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

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


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

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

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


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

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

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

Карта сайта


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

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

Вывод подменю не у всех разделов 

Если надо выводить подменю во всех разделах кроме 5, сперва инициализируем просчет параметра , можно сделать это в атрибуте id, затем пишем условие, не выводить подменю для id 5


<li>
<a href="[[+wf.link]]">[[+wf.linktext]]</a>
[[+id:ne=`5`:then=`[[+wf.wrapper]]`]]
</li>

Modx Revo сниппет Wayfinder.

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

Сниппет Wayfinder.

Ранее я рассказывал, о том как реализовать меню с помощью сниппета Wayfinder для редакции MODx Evo, сегодня речь пойдет о редакции Revo.

Сниппет Wayfinder выводит список ссылок на ресурсы, соответствующий указанным вами параметрам вызова.

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

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

Рассмотрим основные параметры, которые могут быть использованы в вызове:

  • &debug=`1|0` — режим правки;
  • &displayStart=`1|0` — выводить ли начальную папку, если значение параметра равно 1, то первым в выводимом списке будет ресурс, идентификатор которого задана в параметре «startId»;
  • &excludeDocs=`1,2,3` — в данном параметре через запятую указываются идентификаторы ресурсов, которые необходимо исключить при выводе списка;
  • &fullLink=`0|1` — выводить полную ссылку;
  • &hideSubMenus=`0|1` — скрывать или не скрывать подменю;
  • &IgnoreHidden=`0|1` — игнорировать или выводить ресурсы, для которых выставлено свойство «не показывать в меню»;
  • &includeDocs = `1,2,3` — список ресурсов, которые должны быть включены в список в обязательном порядке;
  • &level=« — количество уровней в меню;
  • &limit=« — максимальное количество ресурсов в выводе;
  • &ph=« — вывод результатов в указанный плйсхолдер;
  • &sortBy=`id|menutitle|pagetitle|introtext|menuindex|pub_date|published|hidemenu|parent|description|alias|longtitle|type|template|random` — задает поле по которому будет происходить сортировка;
  • &sortOrder=`ASC|DESC` — порядок сортировки;
  • &startId=« — задает источник ресурсов;
  • &textOfLinks=`id|pagetitle|description|longtitle|parent|alias|introtext` — задает текст ссылки;
  • &titleOfLinks=`id|pagetitle|description|longtitle|parent|alias|introtext` — задает параметр для вывода в атрибуте title ссылки;
  • &where=« — задает дополнительные условия отбора;

Шаблоны Wayfinder.

Ниже показан список допустимых шаблонов:

  • &activeParentRowTpl=« – задает шаблон родителей активного (текущего) пункта меню;
  • &categoryFoldersTpl=« — задает шаблон вывода категории;
  • &cssTpl=« — задает имя чанка, содержащего стили;
  • &hereTpl=« — задает шаблон активного пункта;
  • &innerHereTpl=« — задает шаблон активного пункта подменю;
  • &innerRowTpl=« — задает шаблон для пункта подменю;
  • &innerTpl=« – задает шаблон для подменю содержащего дочерние элементы;
  • &jsTpl=« — задает имя чанка, содержащего скрипты JavaScript;
  • &lastRowTpl=« — задает шаблон последнего пункта меню;
  • &outerTpl=« — задает шаблон контейнера меню;
  • &parentRowHereTpl=« — задает шаблон вывода активного ресурса-контейнера;
  • &parentRowTpl=« — задает шаблон ресурса контейнера;
  • &rowTpl=« — задает шаблон пункта меню;

Классы Wayfinder.

  • &firstClass=« — задает CSS-класс первого пункта меню;
  • &hereClass=« — задает CSS-класс текущей цепочки пунктов меню;
  • &innerClass=« — задает CSS-класс для подпунктов меню;
  • &lastClass=« — задает CSS-класс последнего пункта меню;
  • &levelClass=« — задает CSS-класс для каждого уровня меню;
  • &outerClass=« — задает CSS-класс для контейнера меню;
  • &parentClass=« — задает CSS-класс ресурсов-контейнеров;
  • &rowClass=« — задает CSS-класс для всех пунктов меню;
  • &selfClass=« — задает CSS-класс текущего пункта меню;
  • &webLinkClass=« — задает CSS-класс для пунктов меню — ссылок.

Реализуем навигационное меню для MODx Revo с помощью сниппета Wayfinder.

Рассмотрим на примере, как реализовать меню.

На моем одном сайте навигационное меню представляет из себя следующую конструкцию:

Я специально пронумеровал и описал каждый из пунктов, чтобы вам было понятно.

Как мы видим по верстке моего макета, контейнер списков меню имеет класс «nav navbar-nav». Первый элемент меню задается классом «first», последнему присвоен класс «last». Пункту меню с подпунктами присвоен класс «dropdown». Контейнеру вложенного меню присвоен класс «dropdown-menu». Вложенность меню ровна 2.

Подобная конструкция с легкостью описывается вызов сниппета Wayfinder со следующими параметрами:

[ [Wayfinder? &startId=`0` &outerClass=`nav navbar-nav` &level=`2` &innerClass=`dropdown-menu` &parentClass=`dropdown`]]

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


Все о компьютерах — MODx Revolution Wayfinder документация на русском

&startId Идентификатор папки из которой берутся документы для формирования результата. Можно использовать любой IDдокумента-контейнера. текущий документ
&displayStart Показать начальную папку, указанную в startId 0
&level Число уровней меню в глубину. Например если нам не нужно отобразить только дочерние елементы первого уровня, то мы указываем 1. Значение по умолчанию будет выводить все уровни. 0
&limit Максимальное число пунктов меню. Значение по умолчанию не накладывает ограничений. 0
&ignoreHidden Игнорировать галочку Показывать в меню, во время редактирования ресурса и всё равно включать их в вывод меню. 0
&ph Имя плейсхолдера, устанавливающий вывод результата, вместо возвращения вывода напрямую. 0
&debug Устанавите 1, чтобы включить режим отладки для дополнительного устранения неполадок. 0
&hideSubMenus Установите 1 для вывода только активного подменю. 0
&removeNewLines Установите 1 для удаления из вывода символа новой строки. 0
&textOfLinks Из какого поля ресурса брать текст для ссылки. Возможные значения — menutitleidpagetitledescriptionparent,aliaslongtitleintrotext. menutitle
&titleOfLinks Из какого поля ресурса брать текст для заголовка ссылки (атрибут ссылки title). Возможные значения — menutitleid,pagetitledescriptionparentaliaslongtitle,introtext. pagetitle
&rowIdPrefix Если установленно, тогда этот параметр создаст уникальный ID для каждого элемента. Значение будет иметь примерно такой вид — rowIdPrefix + docId. 0
&useWeblinkUrl Если установленно 1, тогда ссылка будет выводиться в плейсхолдере [wf.link]. 1
&includeDocs Список ID документов, разделённых запятой, которые должны быть включенны в меню.  
&excludeDocs Список ID документов, разделённых запятой, которые следует исключить из меню. 0
&cacheResults Кэшировать запросы для более быстрой загрузки страницы  
&cacheTime Количество секунд для хранения кэшированного меню, еслиcacheResults равна 1. Установите 0, чтобы хранить кэш бесконечно, пока кэш не будет сброшен вручную.  
&contexts Используемый контекст для генерации меню. По умолчанию текущий контекст.  
&startIdContext Индентификатор контекста из которой берутся документы для формирования результата.  
&config Внешний PHP файл, для хранения конфигурации Wayfinder(для примера смотрите core/components/wayfinder/configs).  
&scheme

Формат для генерации URL. Возможные значения (основанны на вызове makeURL API):

  • -1 : (значение по умолчанию) URL по отношению кsite_url;
  • 0: смотрите http;
  • 1: смотрите https;
  • full: абсолютный URL начинающийся с site_url;
  • abs: абсолютный URL начинающийся с base_url;
  • http: абсолютный URL, заданный принуждённо в http-схеме;
  • https: абсолютный URL, заданный принуждённо в https-схеме.
-1
&sortBy Поле ресурса, используемое для сортировки.  
&sortOrder Порядок сортировки — ASC или DESC.  
&where JSON-стиль параметров фильтрации. Например, когда необходимо скрыть блог или новости из дополнения Articles:&where=``[{"class_key:!=": "Article"}]``  
&hereId Определять текущий ID для использования в сниппете. Используйте значение 33 если шаблон указан с помощью параметра hereTpl и activeRowParentTpl не применяеться корректно в пункте меню. повторный ID
&hereTpl Шаблон hereTpl используеться в момент, когда текущий пункт отображаеться в меню.

Создание поддержка продвижение сайта на Modx

Автор: Kyle Jaebker

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

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

Параметры

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

Шаблоны

Классы

Примеры

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

[[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+]»>.

MODx Wayfinder: примеры использования | Red-book-CMS.ru

Статья содержит несколько примеров использования популярного сниппета для MODx — Wayfinder, который, как известно служит для вывода списка ресурсов, т.е. организации всевозможных меню и иных очень полезных вещей.

1. Простое меню на Wayfinder в MODx Evolution

Итак, выводим главное меню. Исходная HTML-разметка при этом пусть будет следующей:

<div>
  <ul>
    <li><a href="/" title="Главная">На главную</a></li>
    <li><a href="/navigator.html" title="Навигация">Навигация</a></li>
    <li><a href="/kontaktyi.html" title="Контакты">Контакты</a></li>
  </ul>
</div>

Для получения вышеописанного результата вызываем сниппет с такими параметрами:

<div >
  [!Wayfinder? 
  &startId=`0` 
  &level=`1` 
  &ignoreHidden=`0`
  !]
</div>

Опять начинаем с ресурса, id которого равен 0. Глубину дерева указываем равным 1. Игнорируем документы со снятым флажком «Показывать в меню».

2. HTML карта сайта для MODx Evolution

Чтобы вывести весь список документов с учетом иерархии на одной веб-странице можно воспользоваться следующим примером:

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

Начинаем отсчет с документа с id, равным 0 и игнорируем те, ресурсы, которые скрыты от показа в меню.

3. Меню для боковой колонки на Wayfinder в MODx Evolution

Организуем меню для боковой колонки, которую оформим в стиле CSS-фреймворка Twitter Bootstrap:

[!Wayfinder? 
&startId=`1` 
&level=`1` 
&hideSubMenus=`1` 
&ignoreHidden=`1` 
&outerClass=`nav nav-tabs nav-stacked bs-docs-sidenav` 
&rowTpl=`BootstrapCategoryItem`
!]

Начинаем с документа с id равным 1, уровень вложенности берем также 1, скрываем подменю, игнорируем скрытые пункты. Добавляем к <ul> классы nav nav-tabs nav-stacked bs-docs-sidenav.

С помощью параметра rowTpl задаем чанк BootstrapCategoryItem, который будет служить для вывода одиночных пунктов со значками-стрелочками:

<li[+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">
  <i></i>[+wf.linktext+]</a>[+wf.wrapper+]
</li>

Итоговая HTML-разметка при этом получиться вот такой:

<ul>
  <li><a href="/home/wordpress.html" title="WordPress"><i></i>WordPress</a></li>
  <li><a href="/home/php.html" title="PHP"><i></i>PHP</a></li>
  <li><a href="/home/javascript.html" title="JavaScript"><i></i>JavaScript</a></li>
</ul>

Итоги:

Я надеюсь вы успели убедиться, что сниппет Wayfinder просто незаменим для вывода списков ресурсов на среднестатистическом MODx Evolution сайте.

Сниппет Wayfinder | | Уроки MODx Evo

Кэшируемый вызов сниппета

[[Имя_сниппета? &параметр1=`значение` &параметр2=`значение`]]

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

[!Имя_сниппета? &параметр1=`значение` &параметр2=`значение`!]


Сниппет Wayfinder

Меню, карта сайта и др. на сайте выводится сниппетом Wayfinder

Кэшируемый вызов сниппета Wayfinder.

[[Wayfinder]]

Некэшируемый вызов сниппета Wayfinder.

[!Wayfinder!]

Параметры сниппета Wayfinder можно посмотреть по ссылкам:

http://i—gu.ru/wayfinder

http://wiki.modxcms.com/index.php/Wayfinder 

Примеры вызова сниппета Wayfinder

[!Wayfinder? &startId=`4` &hideSubMenus=`true` &sortBy=`menuindex` &level=`5`!]

[!Wayfinder? &startId=`0` &level=`1` &sortBy=`menuindex` &excludeDocs=«!]

Часто используемые параметры сниппета

&startId=`2`– id ресурса для вывода меню (дочерних ресурсов).

&level=`3` – количество выводимых уровней меню, 0 — показывать все уровни.

&sortBy=`pagetitle` – параметр сортировки документов. По умолчанию выставлена сортировка по параметру menuindex. Возможные значения  id | menutitle | pagetitle | introtext | menuindex | pub_date | published | hidemenu | parent | isfolder | description | alias | longtitle | type | template | random.

&includeDocs=`5,6,7` – документы, обязательные для вывода.

&excludeDocs=`6,7,8` – исключаемые документы.

&hideSubMenus=`1` – скрывать/показывать (1|0) подменю и выводить для активного пункта.

Сниппет Wayfinder генерирует список ul, первый пункт списка имеет класс <li>, последний пункт – класс <li>. Чтобы в таблице стилей присвоить этому списку индивидуальное оформление, список надо окружить тегом <div> с уникальным именем, например вот так:

<div>
    <ul>
        <li><a href=»/about.html» title=»О нас» >О нас</a></li>
        <li><a href=»/contact.html» title=»Контактная информация» >Контактная информация</a></li>
        <li><a href=»/novosti.html» title=»Новости» >Новости</a></li>
        <li><a href=»/uslugi.html» title=»Услуги» >Услуги</a></li>
    </ul>
</div>

Вводные примеры Wayfinder — Wayfinder

Wayfinder — один из самых важных сниппетов для вашего сайта MODX, потому что почти на каждом сайте будут использовать меню.

Перед тем, как начать

Для следующих примеров мы будем ссылаться на следующие образцы ресурсов:

Схема

Вот графическое представление различных фрагментов форматирования, которые мы рассмотрели в этих примерах:

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

В помощь памяти

Хорошо сразу объяснить, что свойства форматирования Wayfinder бывают двух видов: те, которые предназначены для форматирования LISTS , и те, которые предназначены для форматирования LIST ITEMS .

Фрагменты списка

Вот параметры, которые должны ссылаться на блоки, которые содержат какой-либо вариант LIST или контейнер элементов:

Элементы списка

Вот параметры, которые должны ссылаться на фрагменты, содержащие некоторый вариант ITEM :

  • и rowTpl
  • и innerRowTpl
  • и parentRowTpl

Знай свои кусочки Это станет намного проще, если вы поймете, какие параметры должны ссылаться на списки, а какие — на элементы.

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

Самый простой вызов WayFinder использует встроенное форматирование:

Вызов сниппета

  [[Навигатор? & startId = `55`]]
  

Пример вывода

  
  

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

Форматирование каждой ссылки: rowTpl

Затем мы можем указать дословно, как мы хотим отформатировать каждую ссылку, установив параметр & rowTpl, как в следующем вызове фрагмента:

  [[Навигатор? & startId = `55` & rowTpl =` rowTpl`]]
  

Мы устанавливаем наш чанк rowTpl следующим образом:

  
  • [[+ wf.wrapper]]
  • Пример вывода

      
      

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

    Внешняя оболочка: форматирование

    Затем мы явно отформатируем внешние неупорядоченные списки

      , установив параметр & outerTpl .

      Вот пример вызова сниппета:

        [[Навигатор? & startId = `55` & rowTpl =` rowTpl` & outerTpl = ʻouterTpl`]]
        

      А вот и наш новый Chunk «outerTpl»:

        
      

      Пример вывода

        
      
        

      Итак, теперь у нас есть контроль над каждым элементом и над форматом

        для каждого списка.

        Будьте осторожны: вопреки тому, что вы могли подумать, исходя из его названия, outerTpl не обязательно форматирует только последнюю внешнюю оболочку, он форматирует КАЖДУЮ группу элементов , которая содержит дочерние элементы , за исключением innerTpl _Chunk указан! _ Если вы хотите более «ожидаемого» поведения, при котором outerTpl используется для форматирования только самой внешней группы, тогда вы должны явно указать параметр «innerTpl» (см. Ниже).

        Один вывод: НЕ используйте идентификатор CSS внутри вашего outerTpl , потому что у вас может быть несколько экземпляров одного и того же идентификатора на странице.

        Вы заметили, как в нашем outerTpl мы явно устанавливаем класс CSS? Вам не обязательно это делать: Wayfinder включает параметры, которые позволяют вам устанавливать классы CSS, используемые многими фрагментами компонентов (подробнее об этом чуть позже).

        ParentRow: специальное форматирование для элементов родительской папки

        На этот раз мы собираемся указать другой блок форматирования для элементов, которые являются папками с дочерними элементами (т.е. «контейнеры», как их называют в документации). В нашем примере изображения это относится к страницам «Блог HG (59)» и «Раздел тестирования блога (100)».

        Пример вызова фрагмента кода

          [[Навигатор? & startId = `55` & rowTpl =` rowTpl` & outerTpl = ʻouterTpl` & parentRowTpl = `parentRow`]]
          

        Вот что у нас есть в чанке parentRow:

          
        
      • [[+ wf.linktext]] - [[+ wf.описание]] [[+ wf.wrapper]]
      • Пример вывода

        А вот наш пример вывода.

          
        
          

        Если бы мы опускали параметр & parentRowTpl , вместо него использовался бы блок & rowTpl , и выходные данные были бы идентичны одному из наших предыдущих примеров.

        внутренний ТПЛ

        Раньше мы заметили, как параметр outerTpl используется для форматирования самой внешней группы И любая другая группа предметов. Он в основном используется как контейнер

          для упаковки различные элементы списка. Но довольно часто вам нужен самый внешний
            использовать форматирование, отличное от форматирования различных
              , содержащих подпункты.

              Вот когда мы можем использовать & innerTpl.

                [[Навигатор? & startId = `55` & rowTpl =` rowTpl` & outerTpl = ʻouterTpl` & parentRowTpl = `parentRow` & innerTpl = ʻinnerTpl`]]
                

              Пример вывода

                
              
                

              innerRowTpl

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

              Этот блок является разновидностью базового и rowTpl . Вот что у нас есть для «innerRowTpl»:

                
              
            • [[+ wf.linktext]]] [[+ wf.wrapper]]
            • Вызов сниппета

              Вот как выглядит наш вызов сниппета:

                [[Навигатор? & startId = `55` & rowTpl =` rowTpl` & outerTpl = ʻouterTpl` & parentRowTpl = `parentRow` & innerTpl = ʻinnerTpl` & innerRowTpl = ʻinnerRowTpl`]]
                

              Пример вывода

              А вот и выдаваемый HTML:

                
              
                

              Другими словами, страницы верхнего уровня (56, 57, 58, 60, 61, 62) используют стандартные и rowTpl , а все страницы в подпапках используйте & innerRowTpl.

              Классы настройки

              Прежде чем вы зайдете слишком далеко в кроличью нору, давайте быстро продемонстрируем, как вы можете используйте некоторые другие доступные параметры, чтобы повлиять на окончательный результат. Возможно, вам не понадобится придумывать миллион разных фрагментов для форматирования вывода. Смотрите в нашем примеры того, как в элементы первой и последней строки добавлены пользовательские классы CSS? Эти разумно добавлены в заполнитель [`` [+ wf.attributes] `] внутри нашего» rowTpl «:

                
              
            • [[+ wf.wrapper]]
            • Мы собираемся установить следующие параметры, чтобы вы могли увидеть, как это повлияет на конечный результат:

              • и firstClass
              • и lastClass
              • и rowClass
              • и внешний класс

              Snippet Call

              Наш вызов Adjust Wayfinder Snippet выглядит так:

                [[! Wayfinder? & startId = `55`
              & rowTpl = `rowTpl`
              & outerTpl = ʻouterTpl`
              & firstClass = `my_first_class`
              & lastClass = `my_last_class`
              & rowClass = `my_row_class`
              & outerClass = `my_outer_class`
              ]]
                

              Пример вывода

              А вот как выглядит наш пример вывода:

                
              
                

              Обратите внимание, как первая и последняя ссылки получили два класса? «My_row_class» добавляется к всем строкам, а первый и последний элементы получают «my_first_class» или «my_last_class» соответственно в дополнение к «my_row_class».

              Помните: если вы хотите воспользоваться этими параметрами, обязательно включите заполнитель [[+ wf.attributes]] внутри ваших чанков !!!

              Заключение

              Надеюсь, эти иллюстрации помогли вам понять, как различные фрагменты сочетаются друг с другом для создания полностью настраиваемого меню.

              .

              ModX: выбор и вывод определенных пунктов меню с помощью Wayfinder

              Переполнение стека
              1. Около
              2. Продукты
              3. Для команд
              1. Переполнение стека Общественные вопросы и ответы
              2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
              3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
              4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
              5. Реклама Обратитесь к разработчикам и технологам со всего мира
              6. О компании
              .

    Добавить комментарий

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