Skip to content
  1. Компоненты
  2. pdoTools
  3. Сниппеты
  4. pdoNeighbors

pdoNeighbors

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

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

Вы можете выводить предыдущие/следующие документы по «menuindex», дате публикации или другому полю ресурса.

Параметры

Принимает все параметры pdoTools (за исключением чанков-шаблонов) и некоторые свои:

ПараметрПо умолчаниюОписание
&idТекущий документИдентификатор ресурса, относительно которого выводятся соседи.
&loopДаПоказывает или отменяет показ записей в цикле
&tplPrevсм. нижеЧанк ссылки на предыдущий документ.
&tplUpсм. нижеЧанк ссылки на родительский документ.
&tplNextсм. нижеЧанк ссылки на следующий документ.
&tplWrapperсм. нижеЧанк-обёртка, для заворачивания результатов. Понимает плейсхолдеры: [[+left]], [[+top]], [[+right]] и [[+log]]. Не работает вместе с параметром &toSeparatePlaceholders.
&toPlaceholderЕсли не пусто, сниппет сохранит все данные в плейсхолдер с этим именем, вместо вывода не экран.
&showLog0Показывать дополнительную информацию о работе сниппета. Только для авторизованных в контексте «mgr».

Шаблоны

ШаблонПо умолчанию
&tplPrev@INLINE <span class="link-prev"><a href="/[[+uri]]">&larr; [[+menutitle]]</a></span>
&tplUp@INLINE <span class="link-up">&uarr; <a href="/[[+uri]]">[[+menutitle]]</a></span>
&tplNext@INLINE <span class="link-next"><a href="/[[+uri]]">[[+menutitle]] &rarr;</a></span>
&tplWrapper@INLINE <div class="neighbors">[[+prev]][[+up]][[+next]]</div>

Примеры

По умолчанию сниппет выводит соседей, как они есть в дереве ресурсов, то есть, ориентируется на «menuindex»:

modx
[[pdoNeighbors]]

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

modx
[[pdoNeighbors?
  &id=`55`
]]

Сниппет отлично подходит для вывода ссылок на соседние новости (их лучше сортировать по дате публикации):

modx
[[pdoNeighbors?
  &sortby=`publishedon`
  &sortdir=`asc`
]]

Получение соседних товаров с выводом превью:

fenom
{'!pdoNeighbors' | snippet : [
  'snippet' => 'msProducts',
  'sortby' => 'publishedon',
  'sortdir' => 'ASC',
  'leftJoin' => '{ "thumbs": { "class":"msProductData","alias":"thumbs", "on": "thumbs.id = modResource.id" }}',
  'select' => '{ "thumbs":"thumbs.thumb as small" }',
  'tplWrapper' => '@INLINE {$prev}',
  'tplPrev' => '@FILE chunks/product/item_prev.tpl',
]}