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

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

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

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

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

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

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

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

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

Рендер ссылки в twig

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

В шаблонах twig вы можете использовать функцию link, для рендера ссылки. Параметры вызова следующие - link($text, $uri, $attributes = {}), первые два - обязательные. [crayon-6a1a6700439a3288583637/] Результатом будет следующий HTML код: ...

Читать

Программный вывод блока в Drupal 9

Август 31, 2021 г.

Рассмотрим пару кейсов, того как рендерить блок из вашего кода. Блок существует как Entity Вы создали произвольный блок через Manage->Structure->Block ...

Читать

Подготовка строки для использования в качестве имени html класса

Январь 18, 2022 г.

То, что в семерке выполняется функцией drupal_html_class(), в Drupal 8 реализовано в виде статического метода\Drupal\Component\Utility\Html::getClass($str). Данная функция также востребована в шаблонах (twig). Здесь вы можете использовать фильтр ...

Читать

Пример кода переключения между базами в Drupal 9

Август 22, 2021 г.

Когда требуется подключиться и подтянуть данные из не основной базы, то нужно сначала задать свойства нового подключения, подключиться, выполнить запрос, а затем вернуть настройки в исходное состояние. Рассмотрим примеры кода, которые демонстрируют как ...

Читать
 

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

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



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