tgx:terminate#
Завершает ответ (при необходимости с контентом/кодом).
Синтаксис#
<tgx tgx:terminate status="404" page="/error/status-404"></tgx>
Пример 1: минимум (копипаст для старта)#
<tgx tgx:terminate status="404" page="/error/status-404"></tgx>
Пример 2: реальный сценарий#
<tgx tgx:if="!docFound">
<tgx tgx:terminate status="404" page="/error/status-404"></tgx>
</tgx>
Пример 3: комбинированный сценарий#
<tgx tgx:if="!session.user">
<tgx tgx:terminate status="403">Доступ запрещен</tgx>
</tgx>
Разбор#
Прерывает дальнейший рендер шаблона. Поддерживаетstatus и опциональный page (обычный атрибут без префикса tgx:).
Когда использовать#
- Когда нужна серверная операция во время рендера (письмо, пауза, редирект, заголовок, удаление записи).
- Когда сценарий защищен условиями и ты понимаешь последствия для пользователя и страницы.
Поведение в runtime#
- Тип: пользовательская директива.
- В sandbox директива
tgx:terminate: запрещена. - Эта директива выполняет действие на сервере во время рендера, поэтому её стоит вызывать только при явном условии.
Параметры#
Необязательные#
status— HTTP-статус перед завершением.page— путь страницы для рендера передexit(например/error/status-404).
По умолчанию#
- Без
statusоставляется текущий код ответа. - Без
pageвыводитсяinnerHTMLузла после подстановки выражений.
Типы#
status: число100..599.page: абсолютный путь, начинается с/.
Частые ошибки#
- Проверяйте синтаксис атрибута и кавычки: TGX чувствителен к незакрытым выражениям.
- Тестируйте изменения в подходящем окружении: sandbox для поддерживаемых директив, рабочая тестовая страница — для остальных.
Проверка перед публикацией#
- Пример корректно отрабатывает в рабочем шаблоне/тестовой странице проекта.
- Значения по умолчанию обработаны (
|fallback) там, где данные могут отсутствовать.