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

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

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

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

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

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

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

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

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

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

Январь 18, 2022 г.

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

Читать

Theme image в Drupal 9

Август 3, 2021 г.

Смотрим как выполнить рендеринг файла-картинки в Drupal 9 программно. Есть FID, и требуется рендерить этот файл программно в шаблоне <IMG>. Для этого нам понадобится воспользоваться сервисом ядра - renderer. [crayon-692f92ac85d84197291915/] ...

Читать

Как в Drupal 9 получить URL изображения, сохраненного в поле media

Июль 27, 2021 г.

Чтобы извлечь адрес изображения из картинки в поле типа media, требуется ряд преобразований с использованием Entity объектов Drupal. Предполагается, что вы уже загрузили entity с полем типа media (в примере называется - field_media) в какую то ...

Читать

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

Август 31, 2021 г.

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

Читать
 

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

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



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