Как я могу изменить значение поля после добавления веб-формы Drupal - PullRequest
0 голосов
/ 05 июля 2010

Я пытаюсь изменить значение отправленного поля с помощью php (на стороне сервера) для отправки по почте и записи в db:

hook_form_alter(&$form, &$form_state, $form_id)

изменение значения выглядит легко, но после этого ничего не происходитЯ меняю это.Крюк работает.

Ответы [ 2 ]

1 голос
/ 05 июля 2010

hook_form_alter манипулирует только формой до ее визуализации:

Выполнение изменений до отображения формы.

Посмотритена этот комментарий API , где кто-то дает хороший пример того, как что-то сделать после отправки формы.Есть также действие _submit($form, &$form_state) (данное сообщение от ссылки указывает на это), которое вам нужно вызвать.Вы можете сделать все необходимое, изменив там.Чуть больше описания можно найти в examples из API

0 голосов
/ 11 января 2013
First add a submit action in hook_form_alter and second alter the form_state value in form     submission. 

function custom_form_alter(&$form, &$form_state, $form_id) {
    if ($form_id == 'your-webform-id') {
      $form['#submit'][] = 'xyz_form_submit';
    }
}

function xyz_form_submit($form, &$form_state) {
// here you can edit $form_state value before final submit

}
...