pdoNeighbors

02 июля 2016, 11:54

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

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

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

Параметры

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

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

[[pdoNeighbors]]

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

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

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

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