Изменить http код ответа для кастомной страницы

Когда вы создаёте свою страницу, используя контроллер, то возможности тут же выбрать какой код ответа она возвращает нет. Контроллер занимается только формированием содержания страницы.

Таким образом, страница возвращается с кодом 200. Что делать, если нужно вернуть другой код?

В таком случает нужно модифицировать ответ сервера, подписавшись на событие KernelEvents::RESPONSE. Пример реализации подписки на события можно посмотреть вот тут.

Допустим, вы определили контроллер и описали его в my_module.routing.yml следующим образом:

Тогда реализация подписки может выглядеть так:

Так для указанного маршрута вы меняете код ответа (в примере — 401).

Не забудьте добавить подписчика в my_module.services.yml:

Мало букафф? Читайте есчо !

Реализация формы поиска товаров

Май 11, 2023 г.

См. основной материал для введения. Форма в нашем случае не требует отправки/проверки данных, и реализует только два метода - getFormId и buildForm. Хотя форма и не содержит кнопки submit, но все равно будет реагировать на отправку данных, поэтому ...

Читать

Использование контекста публикации во views

Февраль 10, 2024 г.

У вас есть публикация и в ней задана категория (таксономия). Задача - использовать значение выбранной категории во view, которая отображается на данной ...

Читать

Ошибка обновления metatag remove_robots_noydir_noodp

Май 24, 2023 г.

Если у вас собран Drupal + Commerce, то, возможно, при обновлении модуля метатегов возникает ошибка. Модуль не находит таблицы мета информации для сущности commerce_product и прерывается с выводом сообщения: [crayon-69f94f7a2d9d6462553063/] ...

Читать

Как полностью удалить поле в Drupal, если оно «зависло» в хранилище полей

Сентябрь 5, 2025 г.

Иногда в Drupal возникает ситуация: вы удаляете поле с типов сущностей (bundle), но оно не исчезает полностью из системы. UI говорит, что поле «используется», хотя на самом деле ни одна сущность его не использует. В этом случае поле остаётся в конфигурации ...

Читать
 

Комментарии к «Изменить http код ответа для кастомной страницы»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: