Вывод и фильтрация tv поля?

В 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. Это позволяет вам создавать пользовательские данные и работать с ними на своих страницах.