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

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

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

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

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

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

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

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

Программный переход на главную страницу в Drupal

Март 20, 2017 г.

Для программных переходов (переадресаций) в drupal используется функция drupal_goto(). Как с её помощью отправить пользователя на главную страницу? Синоним вроде '<front>', или путь '/' не сработают, так как они не являются внутренними маршрутами ...

Читать

Добавление режимов просмотра для node в Drupal 7

Январь 27, 2018 г.

Разные типы node view предназначены для темизации публикаций. Но drupal не даёт задавать новые представления из панели администрирования. Рассмотрим как создавать их программно. Чтобы в типах отображения публикации появилась новая (-ые) вкладки, ...

Читать

Поддержка сайта на Drupal: зачем это нужно и как я с этим работаю

Май 21, 2025 г.

Drupal — мощная и гибкая система управления сайтом. Но без регулярной поддержки даже самый хорошо сделанный проект может прийти в запустение. В этой статье ...

Читать

Чем заменить drupal_get_path() в Drupal 9/10

Январь 9, 2024 г.

Функция считается устаревшей, начиная с версии ядра 9.3, в 10-й версии функция удалена из кода. В новом API нужно воспользоваться одним из сервисов ядра, которые реализуют нужную функцию. Сервис extension.list.module - реализует функции, связанные ...

Читать
 

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

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



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

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

  1. Frantsuzzz:

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