Сниппет для построения навигации в стиле хлебных крошек.
Хорошо заменяет BreadCrumb, работает с документами из любых контекстов и позволяет указывать различные условия для выборки ресурсов.
Сниппет обладает очень высокой скоростью работы, за счет выборки всех нужных элементов из БД за один запрос.
Принимает все параметры 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> |
Генерация хлебных крошек для текущей страницы:
[[pdoCrumbs]]
Генерация в ограничением по количеству пунктов:
[[pdoCrumbs?
&limit=`2`
]]
Сниппет хорошо работает при вызове из pdoResources. Например, вот такой чанк:
<h3>[[+pagetitle]]</h3>
<p>[[+introtext]]</p>
[[pdoCrumbs?
&to=`[[+id]]`
&showCurrent=`0`
]]
Генерация микроразметки Schema.org в JSON-LD формате
{'!pdoCrumbs' | snippet : [
'showHome' => 1,
'tplWrapper' => '@INLINE <script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement":
[ {$output} ]
}
</script>'
'tplHome' => '@INLINE {
"@type": "ListItem",
"position": {$idx},
"item":
{
"@id": "{$link}",
"name": "{$menutitle}"
}
},'
'tplCurrent' => '@INLINE {
"@type": "ListItem",
"position": {$idx},
"item":
{
"@id": "{$link}",
"name": "{$menutitle}"
}
}'
'tpl' => '@INLINE {
"@type": "ListItem",
"position": {$idx},
"item":
{
"@id": "{$link}",
"name": "{$menutitle}"
}
},'
]}
В разработке функциональности блока новостей, блога и тд. чаще всего приходится использовать вывод даты публикации документа. А именно важна сама форма выводы даты.
Сниппет предназначен для вывода списка ресурсов. Является продвинутой заменой для getResources: обладает всеми его возможностями, но лишен недостатков. Умеет правильно сортировать ТВ параметры, присоединять таблицы при выборке, включать и исключать категории из разных контекстов и еще много чего.
В данной статье будет описано пошаговое обновление ядра MODx Revo. Речь пойдет, как обновить Ваш сайт на Modx Revolution до последней версии. Все достаточно просто и не потребует особых знаний.