getResources - Minyta

:

getResources Ресурсы Revo Сниппет

Очень полезный сниппет чаще всего используется для создания списков ресурсов или групповых действий над ними.

Требования

  • MODx Revolution 2.0.0-beta5 или более поздней версии
  • PHP5 или более поздняя версия

 

Использование

GetResources можно вызываться при помощи тегов:

[ [ GetResources]]

Вызов сниппета без &TPL (то есть без указания шаблона вывода) выведет просто выходной массив  полей и их значений. Иногда это бывает удобным.

 

Доступные свойства

Свойства шаблонов

Название Описание
tpl Название чанка, выступающего в качестве шаблона.
(в имени шаблона не должно быть знака тире(минус) "-", его лучше заменять на нижнее подчеркивание "_"
tplOdd Название чанка, выступающего в качестве шаблона для ресурсов с нечетным значением idx (см. idx собственности)
tplFirst Название чанка, выступающего в качестве шаблона для первого ресурса
tplLast Название чанка, выступающего в качестве шаблона для последнего ресурса
tpl_{n} Название чанка, выступающего в качестве ресурса для шаблона n-го ресурса
outputSeparator Необязательная строка для каждого отдельного экземпляра TPL
toPlaceholder Если установлено, назначит результате этого плейсхолдера вместо вывода ее напрямую. 
If set, will assign the result to this placeholder instead of outputting it directly.
toSeparatePlaceholders Если установлено, определит для каждого результата в отдельный плейсхолдера назван этот параметр буквой порядковый номер (начиная с 0). 
If set, will assign EACH result to a separate placeholder named by this param suffixed with a sequential number (starting from 0).

Выбор свойства

Название Описание Значение по умолчанию
parents Разделенных запятыми список идентификаторов (id), родительских ресурсов
resources Разделенных запятыми список идентификаторов ресурсов для вывода, так же есть возможность исключить нежелательные для вывода материалы указав перед их id значок минус (тире) "-".
depth Целое значение, указывающее глубину для поиска ресурсов от каждого из родителей 10
tvFilters Список условий для TV параметров предназначенный для фильтрации ресурсов.

Разделитель || представляет собой логическое ИЛИ и основной механизм группировки. 
Внутри каждой группы вы можете обеспечить запятыми список значений. 
Эти значения могут быть привязаны к конкретным TV по имени, например: MyTV == значение, или просто значение, указывая, что вы ищете значение в любом TV связаны с ресурсами. 

Примером может быть и &tvFilters=`filter2==one||filter1==bar%||filter1==foo` Если в TV задано значение по умолчанию, и вы ищите именно по нему, то результат выводиться не будет. Надо задавать значение явно.

sortby

Поле для сортировки. Может быть RAND() для случайных вывода случайным образом. Начиная с версии 1.3.0 это также может быть массивом JSON.

Возможна сортировка по нескольким полям. {"publishedon":"ASC","createdon":"DESC"}

publishedon
sortbyAlias Псевдоним для поля SortBy
sortbyEscaped Escapes the field name specified in sortby
sortdir Способ для сортировки (по убыванию или по возрастанию) DESC
sortbyTV TV для сортировки
sortdirTV Способ для сортировки (по убыванию или по возрастанию) при использовании sortbyTV DESC
sortbyTVType  Указывает тип данных sortbyTV. Возможные значения: строка, целое число, десятичное число, дата-время строка
limit Количество ресурсов для вывода 5
offset Смещение ресурсов. Начиная с какого по счету ресурса выводить (может пригодится при постраничной разбивке страниц) 0
where JSON-стиль выражения критериев для создания любых дополнительных положений
context Контекст. По умолчанию веб-контекст.

Дополнительные свойства

Название Описание Значение по умолчанию
showUnpublished Выводить не опубликованные ресурсы (1-Да, 0-Нет) 0
ShowDeleted Выводить удаленные ресурсы (1-Да, 0-Нет) 0
showHidden Выводить скрытые от показа в меню ресурсы (1-Да, 0-Нет) 0
hideContainers

Скрыть ресурсы помеченные как контейнеры (папки), то есть те у которых свойство is_folder = 1

0
includeContent Указывает, если содержание каждого ресурса должно быть возвращено в результатах 0
includeTVs Выдавать значения TV параметров ресурсов 0
processTVs Применять параметр "Параметры ввода" для TV 0
tvPrefix Префикс для TV параметров ресурса tv.
idx Вы можете определить, начиная с какого ID выводить ресурсы
You can define the starting idx of the resources, which is an property that is incremented as each resource is rendered
1
first Определить IDX который представляет первый ресурс 1
last Определить IDX который представляет собой последний ресурс. По умолчанию # сумма всех ресурсов + первый - 1
totalVar Определить ключ плейсхолдера установленных getResources с указанием общего числа ресурсов, которые будут отобраны не рассматривает limit значения. Всего
debug Если это правда, будет отправлять SQL запрос в журнал MODx.  ложь

Примеры

Выход списка дочерних ресурсов текущего ресурса, используя чанк "myRowTpl ':

[ [ !getResources? &parents=`` &tpl=`myRowTpl`]]

Выход все ресурсы дочерние ресурсу с идентификатором "5", за исключением ресурса 10, используя чанк "myRowTpl":

[ [ !getResources? &parents=`5` &resources=`-10` &tpl=`myRowTpl`]]

Выход 5 самых последних опубликованных ресурсов дочерних ресурсе с идентификатором "5",используя чанк "BlogPost":

[ [ !getResources? &parents=`5` &limit=`5` &tpl=`blogPost` &includeContent=`1`]]

Выход списка дочерних ресурсов текущего ресурса, отфильтрованных по значению шаблона:

[ [ !getResources? &parents=`` &where=`{"template:=":8}` &tpl=`myRowTpl`]]

Выход списка дочерних ресурсов текущего ресурса, где шаблон ID = 1 или 2:

[ [ !getResources? &parents=`[ [ *id]]` &where=`{"template:=":1, "OR:template:=":2}` &tpl=`myRowTpl`]]

Вывод сообщения "Материалы на найдены", если ресурс не содержит дочерних:

[ [ !getResources:default=`Материалы на найдены`? &parents=`[ [ *id]]` &tpl=`myRowTpl`]]

 

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

&includeTVs=`1` &processTVs=`1`

Кроме того, необходимо добавлять префикс ко всем TV. или использовать этот параметр удаляющий префикс:

&tvPrefix=``

В чанках шаблонах вывода следует использовать TV c префиксом tv (если это не отменено способом выше):

[ [ +tv.my_tv]]