TGX выражения и фильтры#
Как писать выражения в двойных скобках, подставлять fallback и не ломать шаблон при пустых значениях.
Синтаксис#
<< user.name|'Гость' >>
Пример 1: минимум (копипаст для старта)#
<< user.name|'Гость' >>
Пример 2: реальный сценарий#
<tgx tgx:set="profile_name"><< user.name|user.email|'Без имени' >></tgx>
<h1><< profile_name >></h1>
<p tgx:if="user.email">Email: << user.email >></p>
Пример 3: комбинированный сценарий#
<tgx tgx:set="is_owner"><< session.user.id==site.owner.id >></tgx>
<div tgx:if="is_owner">Управление проектом</div>
<div tgx:else>Только просмотр</div>
Разбор#
Используйте fallback через|, когда поле может быть пустым. Для булевой логики и сравнения применяйте tgx:if, а вычисленные значения складывайте в переменные через tgx:set.
Когда использовать#
- Когда нужно управлять поведением блока прямо в шаблоне, не дублируя логику в нескольких местах.
- Когда важно сделать поведение страницы предсказуемым для пользователя в реальных сценариях.
Частые ошибки#
- Оставлять выражения без fallback для потенциально пустых полей
- Смешивать сравнение и вывод в слишком длинные выражения без промежуточного
tgx:set
Проверка перед публикацией#
- Пример корректно отрабатывает в рабочем шаблоне/тестовой странице проекта.
- Значения по умолчанию обработаны (
|fallback) там, где данные могут отсутствовать.