pdoResources
Последнее обновление not available | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$204 per month—let's make that $500!
Learn moreСниппет для вывода списка ресурсов. Продвинутая замена getResources: все возможности без его недостатков.
Умеет корректно сортировать TV, подключать таблицы к выборке, включать или исключать категории из разных контекстов и многое другое.
Свойства¶
Параметры выбора ресурсов¶
Эти параметры определяют, какие ресурсы попадут в список.
| Name | Default | Description |
|---|---|---|
| &parents | Current resource | Список родителей для поиска результатов через запятую. 0 для без ограничений, +0 для верхнего уровня. Если id родителя начинается с минуса, он и его потомки исключаются из запроса. |
| &depth | 10 | Глубина поиска дочерних ресурсов от родителя в дереве ресурсов. |
| &resources | Список ресурсов для добавления в результаты через запятую. Если id ресурса начинается с минуса, ресурс исключается из запроса. | |
| &context | Ограничить ресурсы указанным контекстом. | |
| &where | Дополнительный массив параметров выборки в JSON. | |
| &showHidden | 1 | Показывать ресурсы, скрытые в меню. |
| &showUnpublished | 0 | Показывать неопубликованные ресурсы. |
| &showDeleted | 0 | Показывать ресурсы, помеченные как удалённые. |
| &hideContainers | 0 | Исключить контейнерные ресурсы, то есть ресурсы с «isfolder = 1». |
| &select | 0 | Список полей для выборки через запятую. Можно JSON-массив, например {"modResource":"id,pagetitle,content"}. |
| &sortby | pagetitle | Любое поле ресурса для сортировки, включая TV, если задано &includeTVs. Можно JSON-строку с массивом полей, например {"tvname":"ASC", "pagetitle":"DESC"}. Для случайной сортировки «RAND()». |
| &sortdir | DESC | Направление сортировки: по возрастанию или по убыванию. |
| &limit | 10 | Ограничение числа результатов. «0» для без ограничений. |
| &offset | 0 | Число элементов для пропуска с начала. |
| &first | 1 | Номер первого элемента в выводимых результатах. |
| &last | Automatic, by the formula (total + first - 1) | Номер последнего элемента в результатах. |
| &loadModels | Список компонентов, модели которых нужно загрузить для построения запроса, через запятую. Пример: &loadModels=`ms2gallery,msearch2`. | |
| &tvFilters | Список фильтров по TV с разделителями AND и OR. Разделитель &tvFiltersOrDelimiter это логическое OR, его условия группируются в первую очередь. В каждой группе можно указать список значений через &tvFiltersAndDelimiter. Поиск значений в конкретной TV («myTV == value») или в любой («value»). Пример: &tvFilters=`filter2==one,filter1==bar%||filter1==foo`. Фильтр использует LIKE, символ «%» это метасимвол. Ищутся значения ресурсов из таблицы site_tmplvar_contentvalues, не из настроек TV по умолчанию. | |
| &tvFiltersAndDelimiter | "," | Разделитель условий AND в &tvFilters. |
| &tvFiltersOrDelimiter | "||" | Разделитель условий OR в &tvFilters. |
Свойства шаблонов¶
Эти параметры задают чанки с шаблонами форматирования вывода.
| Name | Description |
|---|---|
| &returnIds | «1» вернёт строку со списком id ресурсов вместо полных результатов. Все шаблоны игнорируются. |
| &tpl | Имя чанка для форматирования отдельных элементов. Если не указано, на экран выводятся поля ресурса. |
| &tplFirst | Имя чанка для первого элемента в результатах. |
| &tplLast | Имя чанка для последнего элемента в результатах. |
| &tplOdd | Имя чанка для каждого нечётного элемента в результатах. |
| &tplWrapper | Чанк-обёртка для всех результатов. Один плейсхолдер: [[+output]]. Не работает вместе с &toSeparatePlaceholders. |
| &wrapIfEmpty | Выводить внешнюю обёртку &tplWrapper, даже если результатов нет. |
| &tplCondition | Поле ресурса для сравнения с ключами из &conditionalTpls. |
| &tplOperator | Необязательный оператор сравнения поля &tplCondition с массивом значений и чанков в &conditionalTpls. |
| &conditionalTpls | JSON-объект: ключи это значения поля из &tplCondition, значения это tpl-чанки при совпадении. Оператор сравнения задаётся в &tplOperator. Для операторов вроде isempty массив ключей не нужен. |
| &outputSeparator | Необязательная строка-разделитель результатов. |
Свойства результатов¶
Эти параметры дополнительно задают, какие данные получать и как их показывать.
| Name | Default | Description |
|---|---|---|
| &fastMode | 0 | Быстрый режим обработки чанков. Все «сырые» теги (output modifiers, сниппеты и т. д.) удаляются. |
| &idx | Начальный номер итераций вывода. | |
| &setTotal | 0 | Заполнять ли плейсхолдер total числом результатов. |
| &totalVar | total | Имя плейсхолдера для общего числа результатов. |
| &includeContent | 0 | Возвращать ли поле «content» каждого ресурса в результатах. |
| &includeTVs | Список TV через запятую для плейсхолдеров в шаблоне каждого ресурса. Пример: «action,time» даст [[+tv.action]] и [[+tv.time]]. |
|
| &prepareTVs | «1», prepares all TVs specified in &includeTVs | Список TV, зависящих от media source, для подготовки перед выводом. |
| &processTVs | Список TV для обработки по их output options. «1» обработает все TV из &includeTVs. | |
| &tvPrefix | tv. | Префикс TV. |
| &scheme | -1 | Тип URL-схемы для modX::makeUrl(). Список вариантов. |
| &useWeblinkUrl | 0 | Формировать ссылку на weblink-ресурс, а не на целевой URL. ВАЖНО: для корректной работы используйте [[+link]] вместо [[~[[+id]]]], например <a href="[[+link]]">[[+pagetitle]]</a>. |
| &toPlaceholder | Сохранить вывод в плейсхолдер с этим именем вместо вывода на экран. | |
| &toSeparatePlaceholders | Каждый элемент в отдельном плейсхолдере с именем, начинающимся с этого значения и заканчивающимся порядковым номером с нуля. Например «myPl» даст [[+myPl0]], [[+myPl1]] и т. д. |
|
| &showLog | 0 | Дополнительная отладочная информация о работе сниппета только для авторизованных в менеджере. |
Примеры¶
Простой список дочерних ресурсов #1:
[[pdoResources?
&parents=`1`
&depth=`0`
&tpl=`ListRowTpl`
]]
Чтобы добавить TV «image», вызов такой:
[[pdoResources?
&parents=`1`
&depth=`0`
&tpl=`ListRowTpl`
&includeTVs=`image`
]]
В чанке ListRowTpl теперь доступен плейсхолдер [[+tv.image]].
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$204 per month—let's make that $500!
Learn more










