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

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

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

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

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

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

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

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

Мультизагрузка изображений в поле imagefield в Drupal 6

Июль 12, 2014 г.

Я уже создавал материал на данную тему ранее, когда искал решение данной задачи для lux-e.ru. Было это 2,5 года назад, но в целом ничего не поменялось. ...

Читать

Техника полировки

Март 2, 2014 г.

Запустили сайт - каталог по технике, связанной с полировкой. Не знал, что существует столько оборудования для полировки. Магазинная часть базируется на ...

Читать

Вывод видео блока, используя форматтер модуля media_youtube

Май 18, 2017 г.

Ситуация, когда вы используете поле типа "Multimedia asset", создаваемое модулями media + media_youtube, и сохранили там ссылку на какое то видео с Youtube ...

Читать

Имена блоков в Drupal 7 по умолчанию

Сентябрь 5, 2015 г.

Соответствующие системные названия регионов для вывода блоков можно подсмотреть в верстке. Ещё они явно прописаны в тестовой теме в модуле block. ...

Читать
 

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

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



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

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

  1. Frantsuzzz:

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