Для вывода ресурсов через pdoResources по множественному ТВ-полю в MODX, вам потребуется выполнить несколько шагов.
Шаг 1: Создание ресурса
Вам нужно создать ресурс и добавить к нему ТВ с множественным выбором. Для этого перейдите в раздел "Управление" и выберите "Типы ресурсов", затем щелкните на "Управление пользовательскими полями". Создайте новое поле с типом "Многоточие" или "Множественный выбор" и присвойте ему уникальное имя и заголовок.
Шаг 2: Создание pdoResources вызова
Вам потребуется использовать pdoResources для создания вызова, который будет выводить ресурсы на основе множественного ТВ-поля. Вот пример вызова:
[[!pdoResources? &parents=`0` &resources=`-1` &depth=`10` &tpl=`yourTemplateName` &includeTVs=`yourTVName` &processTVs=`1` &tvFilters=`yourTVName==1` ]]
Здесь:
- parents
указывает на ваших родителей ресурсов. Если вы хотите вывести все ресурсы на вашем сайте, оставьте это значение равным 0
.
- resources
задает идентификаторы ресурсов, которые вы хотите вывести. -1
означает, что все ресурсы будут выведены.
- depth
определяет, на сколько уровней глубины будет производиться выборка ресурсов.
- tpl
указывает имя вашего шаблона вывода, который будет использоваться для отформатированных результатов.
- includeTVs
указывает на имена ТВ-полей, которые вы хотите включить в результаты выборки.
- processTVs
говорит MODX о том, что он должен обработать ТВ-поля, прежде чем вывести их.
- tvFilters
задает фильтры для ТВ-полей. В данном случае мы используем фильтр на основе значения ТВ-поля.
Шаг 3: Создание шаблона
Вам нужно создать шаблон, который будет отображать результаты выборки. Создайте новый файл шаблона с именем yourTemplateName
и разместите его в папке /assets/templates/
.
Вот пример, как может выглядеть ваш шаблон:
<div class="resources"> [[+pagetitle]] <ul> [[+yourTVName]] </ul> </div>
Здесь:
- [[+pagetitle]]
выведет название каждого ресурса.
- [[+yourTVName]]
выведет значение выбранного ТВ-поля.
Вы можете настроить стиль и разметку вашего шаблона в соответствии с вашими потребностями.
Шаг 4: Размещение вызова
Чтобы вывести ресурсы на вашей странице, вам нужно разместить вызов в нужном месте. Добавьте следующий код на вашу страницу:
[[!pdoResources? &parents=`0` &resources=`-1` &depth=`10` &tpl=`yourTemplateName` &includeTVs=`yourTVName` &processTVs=`1` &tvFilters=`yourTVName==1` ]]
Замените yourTemplateName
и yourTVName
соответствующими значениями, которые вы установили ранее.
В итоге вы должны увидеть список ресурсов, отфильтрованных по выбранному ТВ-полю, с выводом значений множественного выбора в вашем шаблоне.