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

В Drupal form API версии 6, у формы было свойство редиректа (пример из документации Drupal):

которое позволяло перенаправить пользователя после отправки/обработки данных формы. В 7й версии API это свойство исчезло. Что можно предпринять, чтобы получить похожий эффект?

Редирект в 6-й версии выполнял команду внутреннего перехода, для примера выше это соответствовало:

Никто не мешает нам выполнить этот переход в hook_submit формы. Соответствующий обработчик можно добавить в form_hook_alter.

Проблема этого способа в том, что не будут выполнены последующие обработчики формы onsubmit. Потому второй вариант — это изменить внешнее окружение так, чтобы drupal делал то, что нужно:

Это не помешает выполнится другим зацепкам, но и не помешает другим зацепкам использовать тот же самый трюк с подменой $_GET[‘destination’].

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

Комплекс антиспам мер, примеры для Drupal 6

Январь 17, 2013 г.

Современные средства антиспам пытаются отличить человека от робота. При этом используются разного рода captcha, различные графические пазлы и т.п. Это может работать в ряде случаев, но ситуация такова, что на войну с captcha выходят специально обученные ...

Читать

Загрузка файла через форму в Drupal

Май 19, 2023 г.

Посмотрим как получить непосредственный доступ к файлу без загрузки файла в хранилище, при его загрузке в поле типа "file" Form API. Много гайдов посвящено тому как использовать поле managed_file, а для unmanaged случая считается, что разработчик ...

Читать

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

Январь 22, 2022 г.

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

Читать

Drupal flag модуль - некоторые элементы API

Ноябрь 9, 2016 г.

Очередная шпаргалка по Drupal, рассматриваем функции API модуля flag, для вызова их из кода программы PHP. Вы можете найти много материалов, посвященных настройке плагина flag, работе с ним из админки, но совсем мало - описанию функций API. ...

Читать
 

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

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



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

Один комментарий в “Редирект после отправки формы в Drupal 7”

  1. Frantsuzzz:

    Для 7 должен такой вариант работать:
    function _redirect_onsubmit($form, &$form_state) {
    $form_state[‘redirect’] = «user/login»;
    }