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

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

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

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

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

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

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

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

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

Подстановка токенов в коде Drupal 9

Август 1, 2021 г.

Ядро и модули объявляют множество токенов подстановки. Рассмотрим как получить доступ к глобальному объекту типа \Drupal\Core\Utility\Token и выполнить подстановку в строке. Ядро предоставляет экземпляр объекта через следующий запрос: [crayon-69850f8ee0972649184020/] ...

Читать

Drupal Commerce - расчет доставки для выбранного района

Август 26, 2021 г.

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

Читать

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

Август 5, 2021 г.

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

Читать

Пишем логи в Drupal 9

Октябрь 8, 2021 г.

Привычная функция watchdog, которую мы использовали в 6/7 версиях, к девятке пережила эволюцию до сервиса логирования. Бывшее ранее: [crayon-69850f8ee103e212321156/] Сейчас выглядит так: [crayon-69850f8ee1045639067486/] Помимо того, ...

Читать
 

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

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



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