Редирект после отправки формы в Drupal 8/9

Для семерки можете посмотреть другую статью.

Обычно правят поведение существующих форм через hook_form_alter, добавляя туда еще один обработчик submit. Специальный метод setRedirectUrl объекта FormStateInterface позволяет настроить адрес перенаправления.

Например, добавим редирект в форму user_login_form.

Выполнится весь код, который предусмотрен штатно, потом будет произведен редирект. При необходимости, можно передать также и GET параметры:

Они читаются в контроллере, который формирует страницу, соответствующим образом:

Если требуется перенаправить ввод формы, то можно использовать другой код в обработчике submit:

Это прервет штатную обработку формы, но отправит её данные по другому URL.

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

Рендер ссылки в Drupal 9

Август 5, 2021 г.

В Drupal 7 вы могли использовать функцию l($text, $url, $options) для генерации HTML кода тега <A>. В Drupal 9 подход коренным образом изменился, и прямого "наследника" устаревшей функции нет. Чтобы получить примерно тот же функционал придется ...

Читать

Программный рендер меню в Drupal 9

Сентябрь 8, 2021 г.

Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню. Рендер меню по известному id меню Вы знаете идентификатор, вам нужен рендер: [crayon-6930ced175ffa877250615/] Рендер ...

Читать

Проверка, что поле пустое в twig

Январь 28, 2022 г.

При переходе к Drupal 8/9 на twig шаблоны, часто возникает вопрос, как проверить что поле пустое. Наиболее точный ответ на мой взгляд помогает найти фильтр render, т.к. он позволяет получить результат рендера соответствующего поля, а не заниматься ...

Читать

Кеширование JSON ответа в Drupal

Июль 6, 2023 г.

У нас есть контроллер, который выдаёт json ответ. Добавим кеширование. Начнем с определения контроллера. Пусть сконфигурирован следующий mymodule.routing.yml: [crayon-6930ced1762f4530505329/] Это значит, что у нас создан класс PublicApi в ...

Читать
 

Комментарии к «Редирект после отправки формы в Drupal 8/9»

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



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