Для того чтобы получить значение TV (Template Variable) поля через сниппет в MODX, вам потребуется использовать несколько функций.
Первым делом, вам необходимо получить объект текущего ресурса. Для этого вы можете использовать функцию modx->resource
или modx->getObject('modResource')
. Например:
$resource = $modx->resource; // или использовать $modx->getObject('modResource')
Затем, вы можете получить доступ к TV полям этого ресурса через объект resource
:
$tvName = 'your_tv_name'; // замените на имя вашего TV поля $tvValue = $resource->getTVValue($tvName); // Если TV поле имеет тип "Да/Нет", то для получения его значения используйте: $tvValue = $resource->getTVValue($tvName, $resource->context_key);
Теперь в переменной $tvValue
у вас содержится значение TV поля.
Если вам нужно получить значение TV поля для другого ресурса, не являющегося текущим, тогда вам потребуется использовать функцию modx->getObject('modResource', $resourceId)
:
$resourceId = 123; // замените на ID нужного вам ресурса $resource = $modx->getObject('modResource', $resourceId); if ($resource) { $tvValue = $resource->getTVValue($tvName); // или для полей типа "Да/Нет": $tvValue = $resource->getTVValue($tvName, $resource->context_key); } else { // ресурс с указанным ID не найден }
Надеюсь, эта информация поможет вам получить значение TV поля через сниппет в MODX.