Дата публикации
28 Августа 2019
Дата изменения
5 Июля 2020
Уникальных просмотров
2.183

Оглавление

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

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

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

Параметры

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

Параметр По умолчанию Описание
&id Текущий документ Идентификатор ресурса, относительно которого выводятся соседи.
&loop Да Показывает или отменяет показ записей в цикле.
&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»:

/* modParser */
[[pdoNeighbors]]

/* pdoParser */
{$_modx->runSnippet('pdoNeighbors')}

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

/* modParser */
[[pdoNeighbors?
    &id=`55`
]]

/* pdoParser */
{$_modx->runSnippet('pdoNeighbors', [
'id' => 55
])}

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

/* modParser */
[[pdoNeighbors?
    &sortby=`publishedon`
    &sortdir=`asc`
]]

/* pdoParser */
{$_modx->runSnippet('pdoNeighbors', [
'sortby' => 'publishedon',
'sortdir' => 'asc',
])}

Благодарность автору

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

Один из самых популярных способов поблагодарить автора, воспользоваться сервисом Яндекс.Деньги.

Время работы: 0,1112 s
Время запросов: 0,1112 s
Количество запросов: 24
Источник: cache