← Назад

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) там, где данные могут отсутствовать.

См. также#