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

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

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

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

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

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

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

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

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

Ошибка в Drupal Adding non-existent permissions to a role is not allowed. The incorrect permissions are "..."

Июль 25, 2023 г.

Такое иногда вылазит как следствие удаления кастомных классов/модулей, создающих собственные права или инициализирующие права через родительский модуль. Как это пофиксить? Права из роли не были удалены штатно, потому придется сделать следующее: ...

Читать

Использование entityqueue для сортировки элементов во view, основанной на Search API datasource

Апрель 3, 2024 г.

Ранее подход, который я опишу, использовался для nodequeue, сейчас с заменой плагина фунционалом entityqueue, тоже самое можно применить и для него. Проблема: Создано представление (view), где источник данных - элементы datasource Search API. ...

Читать

Attempting to re-run cron while it is already running.

Июнь 3, 2025 г.

Попытка запустить cron параллельно с запущенным кроном не увенчается успехом, так как Drupal использует блокировку. Но иногда, из-за ошибок во время исполнения, блокировка не снимается. Что делать, если блокировка не была снята штатно? На самом ...

Читать

Редактируем атрибуты ссылки в twig шаблоне

Июль 14, 2023 г.

Как без хуков preprocess в Drupal добавить, например, атрибут target для ссылки в шаблоне? Например, возьмем штатный шаблон file-link.html.twig: [crayon-6a3f076e6f255562134637/] Используем фильтр merge, добавляя нужные атрибуты: [crayon-6a3f076e6f25b323463836/]

Читать
 

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

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



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