Как получить свойство по значению ТВ? fenom
В ТВ забито
название==значение
название2==значение2
в шаблоне через pdoResources вывожу только «значения» ресурсов… а вот как получить «название»? fenom если можно.
название==значение
название2==значение2
в шаблоне через pdoResources вывожу только «значения» ресурсов… а вот как получить «название»? fenom если можно.
Комментарии: 1
Можно через модификатор:
В чанке:
$fenom->addModifier('tvname', function ($tvname) {
// Получаем объект TV по имени
$tv = $modx->getObject('modTemplateVar',array('name' => $tvname));
// id текущего ресурса
$id = $modx->resource->id;
// значение tv
$value = $tv->renderOutput($id);
// Ищем необходимое значение и возвращаем навазние
$tvlist = explode('||', $tv->get('elements'));
foreach ($tvlist as $item) {
$arr = explode('==',$item);
if($arr[1] == $value) {
return $arr[0];
}
}
return $tvname;
});
В чанке:
{'name TV' | tvname}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.