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

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

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

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

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

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

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

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

Организация кросс-сайтового виджета на drupal

Февраль 8, 2012 г.

Какое то непонятное название для статьи получилось, расшифрую что имелось в виду. Допустим, у вас есть некий сайт, контент с которого было бы удобно представить в виде блочка на другом сайта. Цели могут быть разными - это может быть реклама сайта с динамически ...

Читать

Изменить текст no-results во views программно

Февраль 5, 2020 г.

Drupal views позволяют сконфигурировать сообщение на случай если результат запроса пуст и нельзя срендерить какой либо контент для данного представления. Данная опция находится во вкладке 'advanced' вашего представления. Но в данной статье я покажу ...

Читать

Рендер произвольного блока в Drupal 11

Март 13, 2025 г.

Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно. Например добавим в препроцессинг страницы переменную с рендером блока branding. Этот блок предоставляется модулем ...

Читать

Выполнение php кода через drush

Март 24, 2020 г.

Для отладки или выполнения какого то разового кода иногда требуется выполнить php код в системном окружении вашего сайта на Drupal. Без drush приходится добавлять код вроде следующего в файл темы (а в последствии его удалять от туда): [crayon-6a78a85976b2a140903822/] ...

Читать
 

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

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



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

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

  1. Frantsuzzz:

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