getResources — пожалуй самый часто используемый сниппет в MODx. Сдесь (будут) собраны примеры его реализации. Но чаще всего это обычный вывод, и надо чтобы он просто был под рукой, чтобы его было быстро скопировать, и подправить пару строк.
[[!getResources? &parents=`[[*id]]` &tpl=`element-tpl` &sortby=`menuindex` &sortdir=`ASC` &limit=`999` &depth=`0` &includeTVs=`1` ]]
Ну и расширенный вариант на большенство случаев жизни:br
Тут собраны разные параметры, которые некорректно применять вместе. Они размещены для наглядности
[[!getResources? &sortby=`publishedon` &sortdir=`ASC` // сортировка по возростанию &sortdir=`DESC` // сортировка по убыванию &sortbyTV=`tvname` &sortdirTV=`ASC` // ASC - по возростанию, DESC - по убыванию &sortbyTVType=`integer` // Possible values are string, integer, decimal, datetime &resources=`10,11,12, -5` &tvFilters=`important-page==1` &includeContent=`1` &where=`{"template:=":8}` &where=`{"template:IN":[1,2,3]}` &toPlaceholder=`results` &sortby=`FIELD(modResource.id, 4,7,2,5,1 )` &sortdir=`ASC` // Сортировка по заданному списку id ]] [[+results:notempty=`<ul>[[+results]]</ul>`]] [[+idx]] [[+publishedon:strtotime:date=`%b %d %Y`]]
Важные элементы сверху getResourses
- Создаем TV (тип
чекбокс
), назовем егоimportant-page
.
В "Возможные значения" записываемДа==1
.
В "Значение по умолчанию" записываем0
. - Вариант 1: Если стили отличаются значительно, то делаем два вывода getResourses
- Вариант 2: Если стили отличаются незначительно, то делаем сортировку по TV-параметру getResourses
Вариант первый — два вывода getResourses. В нем можно использовать 2 разные чанка для вывода.
<h2>Крайне важные статьи:</h2> <div> [[!getResources? &parents=`[[*id]]` &tpl=`important-page-tpl` &sortby=`menuindex` &sortdir=`ASC` &limit=`999` &tvFilters=`important-page==1` [[- !!! ]] &depth=`0` &includeTVs=`1` ]] </div> <h2>Все статьи:</h2> <div> [[!getResources? &parents=`[[*id]]` &tpl=`page-tpl` &sortby=`menuindex` &sortdir=`ASC` &limit=`999` &tvFilters=`important-page!=1` [[- !!! ]] &depth=`0` &includeTVs=`1` ]] </div>
Вариант второй — один вывод getResourses. В нем мы включаем сортировку по TV-парамету, а в чанке устанавливаем условие, и добавляем класс, если статья важная
<h2>Статьи (сначала важные):</h2> <div> [[!getResources? &parents=`[[*id]]` &tpl=`page-tpl` &sortby=`menuindex` &sortdir=`ASC` &sortdirTV=`ASC` &sortbyTV=`important-page` &sortbyTVType=`integer` &limit=`999` &depth=`0` &includeTVs=`1` ]] </div>
Чанк с условием:
<div class="side-article-generator-item [[+tv.important-page:is=`1`:then=`important-class`:else=``]]"> <p class="side-article-generator-title"><a href="[[~[[+id]]]]">[[+pagetitle]]</a></p> </div>
Заметки и ссылки по теме:
- https://rtfm.modx.com/extras/revo/getresources#getResources-OtherProperties — Описание getResources на rtfm.modx.com
Комментарии (0)
Не писать ответ