Разработка Drupal-модуля: как общаться между form_submit и функциями обработчика страниц - PullRequest
1 голос
/ 03 мая 2010

Я пишу модуль, и мне нужно получить значения, установленные в функции form_submit, из функции обработчика страниц. Причина в том, что я отображаю результаты отправки формы на той же странице, что и обработчик страницы.

У меня это работает, но я использую глобальные переменные, которые мне не нравятся. Я хотел бы иметь возможность использовать $ form_state ['storage'] для этого, но не могу, поскольку у меня нет доступа к переменной $ form_state из обработчика страницы.

Есть предложения?

1 Ответ

0 голосов
/ 05 мая 2010

RE: Drupal: как отобразить результаты формы на той же странице, что и форма

У вас нет доступа к $ form_state в обработчике страницы, но я думаю, что он может быть доступен вашей функции построителя форм автоматически. Посмотрите, можете ли вы выгрузить его, используя что-то вроде

function _ncbi_subsites_show_paths_form($form_state) {
  dsm($form_state);
 // everything else
}

Другая возможность, хотя и не намного лучше, чем использование глобальных переменных, заключается в использовании функций variable_set () и variable_get в Drupal.

Если вы имеете дело только с одним значением, вы можете передать его на страницу в качестве аргумента URL из $ form ['# redirect'] в обработчике отправки.

...