PdoCrumbs
Опубликовано: 17.02.2021

Сниппет для построения навигации в стиле хлебных крошек.
Хорошо заменяет BreadCrumb , работает с документами из любых контекстов и позволяет указывать различные условия для выборки ресурсов.
Дополнение pdoCrumbs MODX Revolution создание хлебных крошек на сайте
Сниппет обладает очень высокой скоростью работы, за счет выборки всех нужных элементов из БД за один запрос.
Параметры
Принимает все параметры pdoTools и некоторые свои:
&showLog | 0 | Показывать дополнительную информацию о работе сниппета. Только для авторизованных в контекте «mgr». |
&from | 0 | Id ресурса, от которого строить хлебные крошки. Обычно это корень сайта, то есть «0». |
&to | Id ресурса для которого строятся хлебные крошки. По умолчанию это id текущей страницы. | |
&exclude | Список id ресурсов, которые нужно исключить из выборки. | |
&toPlaceholder | Если не пусто, сниппет сохранит все данные в плейсхолдер с этим именем, вместо вывода не экран. | |
&outputSeparator | \n | Разделитель между крошками |
&tpl | Имя чанка для оформления ресурса. Если не указан, то содержимое полей ресурса будет распечатано на экран. | |
&tplCurrent | Чанк оформления текущего документа в навигации. | |
&tplMax | Чанк, который добавляется в начало результатов, если их больше чем &limit . | |
&tplHome | Чанк оформления ссылки на главную страницу. | |
&tplWrapper | Чанк-обёртка, для заворачивания всех результатов. Понимает один плейсхолдер: [[+output]]. Не работает вместе с параметром &toSeparatePlaceholders . | |
&wrapIfEmpty | Включает вывод чанка-обертки &tplWrapper даже если результатов нет. | |
&showCurrent | 1 | Выводить текущий документ в навигации. |
&showHome | 0 | Выводить ссылку на главную в начале навигации. |
&showAtHome | 1 | Показывать хлебные крошки на главной странице сайта. |
&hideSingle | 0 | Не выводить результат, если он один единственный. |
&direction | ltr | Направление навигации: слева направо «ltr» или справа налево «rtl», например для Арабского языка. |
Шаблоны
&tpl | @INLINE <li><a href="[[+link]]">[[+menutitle]]</a></li> |
&tplCurrent | @INLINE <li class="active">[[+menutitle]]</li> |
&tplMax | @INLINE <li class="disabled"> ... </li> |
&tplHome | |
&tplWrapper | @INLINE <ul class="breadcrumb">[[+output]]</ul> |
Примеры
Генерация хлебных крошек для текущей страницы:
Создание хлебных крошек в MODX
[[pdoCrumbs]]
Генерация в ограничением по количеству пунктов:
[[pdoCrumbs? &limit=`2` ]]Сниппет хорошо работает при вызове из pdoResources. Например, вот такой чанк:
<h3>[[+pagetitle]]</h3> <p>[[+introtext]]</p> [[pdoCrumbs? &to=`[[+id]]` &showCurrent=`0` ]]Демо
Рабочий пример генерации хлебных крошек в результатах поиска mSearch2.