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

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

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

Самый простой вызов сниппета Wayfinder может быть таким:

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

Сниппет выведит HTML код в виде неупорядоченного списка всех ресурсов MODx, вошедших в меню, где каждый элемент списка является ссылкой на соответствующий документ в дереве ресурсов MODx.

Параметры

НазваниеОписаниеПо умолчанию
&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 используеться в момент, когда текущий пункт отображаеться в меню.

Оригинальная информация по сниппету на английском: