DLSiblings — сниппет вывода соседних ресурсов для Evolution CMS (MODx Evo). Предназначен для организации множественной кольцевой перелинковки страниц сайта. Основан на сниппете DocLister, поэтому можно использовать все возможности ДокЛистера.

Немного теории

Что такое множественная кольцевая перелинковка? Сеошники наверняка знают о ней. А для тех, кто не знает — это схема перелинковки страниц сайта, позволяющая неплохо поднять сайт по низкочастотным и СНЧ запросам.

Подробнее о кольцевой перелинковке читайте в моей статье: Схема перелинковки сайта под НЧ

Параметры сниппета

  • &renderSnippet ( DocLister | sgController ) сниппет, используемый для вывода, default DocLister
  • &prevQty — Кол-во выводимых соседей-предшественников, default 2
  • &nextQty — Кол-во выводимых соседей-последователей, default 2
  • все остальные параметры и шаблоны как в DocLister
Можно использовать унаследованные от DocLister (такие же, как у него): условия выборки &addWhereList и &filters, условия сортировки &orderBy, глубину выборки &depth, prepare-сниппеты и многие другие параметры и все шаблоны.

Если в качестве сниппета вывода указан sgController, то соответственно можно использовать и все условия, параметры и шаблоны sgController.

Шаблоны сниппета

Все шаблоны — точно такие же, как у DocLister. Плейсхолдеры в шаблонах — тоже точно такие же, как в DocLister. Если в качестве сниппета вывода указан sgController, то шаблоны и плейсхолдеры — точно такие же, как в sgController.

Установка

  • Сниппет находится на Гитхабе
  • Архив нужно скачать и установить через Extras («Установка из архива»).

Пример

[ [DLSiblings?
   &idType=`parents`
   &parents=`[*parent*]`
   &ownerTPL=`@CODE:<ul>[+dl.wrap+]</ul>`
   &tpl=`@CODE:<li><a href="[+url+]">[+tv.h1+]</a></li>`
   &prevQty=`2`
   &nextQty=`2`
   &tvList=`h1`
] ]


В примере между квадратными скобками вставлен пробел — иначе код «съедается».

Больше примеров с кодом и пояснениями в моей статье: Примеры применения DLSiblings

Результат работы

В этом примере параметром &parents мы задаем выборку, в которой будем искать соседей — все документы, находящиеся в той же папке, что и текущий.

Результатом работы будет список ссылок на статьи, соседние по ИД для текущей.



Подробнее о сниппете DLSiblings читайте на моем сайте: Сниппет DLSiblings

Если есть вопросы, можно задавать здесь или у меня на сайте. В следующей статье напишу больше реальных примеров с кодом.

UPD:
04.01.2019 Добавлена возможность выбирать сниппет для вывода — DocLister или sgController, добавлен соответствующий параметр &renderSnippet.