Изменить 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 г.

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

Читать

Переадресация на основной домен в Drupal

Июль 17, 2023 г.

Данный подход скорее полезен как демонстрация инструментария, чем действительно реализация редиректа на основной домен. Потому что лучше это делать средствами сервера, а не ПО, чтобы уменьшить нагрузку на сервер. Drupal 8 работает на базе симфонии, ...

Читать

Делаем выгрузку xml для яндекс маркет

Сентябрь 23, 2023 г.

Ключевая особенность в том, что данные выгружаются из Drupal Commerce. Первое, что понадобится - это настроить какой то route, а потом мы напишем для него контроллер. Маршрут можно добавить в какой то кастомный модуль, выглядеть он может следующим ...

Читать

Создание кастомных хлебных крошек в Drupal

Май 6, 2023 г.

С 8й версии друпал предлагает механизм переопределения/задания хлебных крошек через реализацию сервиса breadcrumb_builder. Немного теории При создании хлебных крошек, Drupal вызывает объявленные сервисы в порядке их приоритетов, и опрашивает ...

Читать
 

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

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



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