Domanda

Sto cercando di modificare il valore del campo presentato con php (lato server) per essere inviato via e-mail e scritto a db:

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

cambiamento di valore sembra facile, ma non succede nulla dopo la cambio. opere Hook.

È stato utile?

Soluzione

hook_form_alter manipola solo la forma prima che venga resa:

  

Eseguire modifiche prima di un modulo è   reso.

Date un'occhiata al questa API commento , dove qualcuno dà un bell'esempio di come fare qualcosa dopo che il modulo è stato inviato. C'è anche un'azione _submit($form, &$form_state) (il determinato posto dai punti di collegamento che fuori) che avete bisogno di grilletto. Si può fare tutto il vostro alterazione necessaria lì. Un po 'più descrizione può essere trovata negli esempi dall'API

Altri suggerimenti

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

}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top