Как вывести используя Fenom название tv поля (не значение).
Доброго времени суток!
Встал вопрос о выводе в синтаксисе fenom НАЗВАНИЕ поля:
Вот такой пример поля создал в админке, в tv полях, назвал tv_name, со значениями:
Пример со стандартным шаблонизатором:
С использованием fenom этот модификатор не работает, искал в документации, нет ни каких упоминаний, может плохо искал))
Встал вопрос о выводе в синтаксисе fenom НАЗВАНИЕ поля:
Вот такой пример поля создал в админке, в tv полях, назвал tv_name, со значениями:
Поле1==значение_поля1||Поле2==значение_поля2
Имя в стандартном шаблонизаторе можно получить через модификатор tvLabelПример со стандартным шаблонизатором:
[[*tv_name:tvLabel]]
Этот код выводит «Поле1» или «Поле2», в зависимост от выбора в настройках ресурсаС использованием fenom этот модификатор не работает, искал в документации, нет ни каких упоминаний, может плохо искал))
Комментарии: 3
Если не хватает модификаторов их можно добавить.
Только для использования объекта $modx его нужно будет указать так:
Только для использования объекта $modx его нужно будет указать так:
$fenom->addModifier('website', function ($input) use ($modx) {
// Тут уже будет доступен $modx
});
Апну вопрос.
Варинат:
Как всё же правильно вывести название поля на fenom?
Варинат:
{$_modx->resource.tv_name | tvLabel}
Не работает.Как всё же правильно вывести название поля на fenom?
Создай сниппет tvLabel с вот таким кодом
$q = $modx->newQuery('modTemplateVar');
$q->select('modTemplateVar.caption as cption');
$q->where(['modTemplateVar.name' => $input]);
if($q->prepare() && $q->stmt->execute()){
$result = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
return $result[0];
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.