В MODX есть возможность создавать дополнительные поля - TV (Template Variables) - для ресурсов. Эти поля позволяют добавлять дополнительные пользовательские данные к каждому ресурсу. В этом ответе я расскажу о том, как вывести и фильтровать TV поля в MODX.
1. Вывод TV поля:
Чтобы вывести значение TV поля на странице ресурса, вы можете использовать сниппет getResources или pdoResources. Для этого вам нужно знать идентификатор TV поля, например tv_id
, и его имя, например tv_name
.
С помощью getResources:
[[getResources? &resources=`[[*id]]` &includeTVs=`tv_name` &tpl=`@INLINE [[+tv_name]]` ]]
С помощью pdoResources:
[[pdoResources? &resources=`[[*id]]` &includeTVs=`tv_name` &tpl=`@INLINE [[+tv_name]]` ]]
2. Фильтрация по TV полю:
Чтобы фильтровать ресурсы по значению TV поля, снова используйте getResources или pdoResources.
С помощью getResources:
[[getResources? &resources=`-1` &includeTVs=`tv_name` &processTVs=`1` &tvFilters=`tv_name==desired_value` &tpl=`@INLINE [[+tv_name]]` ]]
С помощью pdoResources:
[[pdoResources? &resources=`-1` &includeTVs=`tv_name` &tvFilters=`tv_name==desired_value` &tpl=`@INLINE [[+tv_name]]` ]]
В обоих случаях tv_name
- это имя TV поля, а desired_value
- значение, по которому фильтруются ресурсы.
3. Дополнительные настройки:
У getResources и pdoResources есть множество других параметров, которые позволяют настроить вывод и фильтрацию ресурсов, такие как сортировка, количество результатов, условия, и т.д. Вы можете ознакомиться с документацией для каждого сниппета, чтобы получить более подробную информацию.
Таким образом, вы можете выполнять вывод и фильтрацию TV полей в MODX, используя сниппеты getResources и pdoResources. Это позволяет вам создавать пользовательские данные и работать с ними на своих страницах.