Dividere la pagina di registrazione in due step
Ciao a tutti.
Tramite il modulo "profile" ho aggiunto una decina di nuovi campi al form di registrazione dell'utente. Ora pero' vorrei divedere il form in due pagine distinte, quindi dovrei modificare il form in un multi-form.
Ho creato questo pezzo di codice:
function mw_ur_form_alter($form_id,&$form) {
if ($form_id == 'user_register') {
//print_r($form);
if (!isset($form['#post']['step'])) {
$form['#multistep'] = TRUE;
$form['#tree'] = TRUE;
$form['#redirect'] = FALSE;
$form['step'] = array (
'#type' => 'hidden',
'#value' => 1
);
unset($form['Informazioni personali']);
$form['submit'] = array(
'#value' => 'next',
'#type' => 'submit',
'#weight' => 30
);
} else {
/*
$form['#multistep'] = TRUE;
$form['#tree'] = TRUE;
$form['#redirect'] = FALSE;
$form['account']['name']['#default_value'] = $form['#post']['account']['name'];
$form['account']['mail']['#default_value'] = $form['#post']['account']['mail'];
*/
unset ($form['Residenza']);
}
/**
* only for test
*/
/*foreach($form as $key => $value) {
print("-".$key."-
");
}*/
}
}
Quello che succede è questo: carico la pagina, compilo gli unici due campi "richiesti", che sono mail e nome utente, e premo sul bottone "Next". La pagina viene ricaricata ma i due campi appena inseriti risultano vuoti e compaiono i messaggi di errore riguardanti i due campi vuoti che pero' io avevo inserito correttamente, ed in piu' ho un messaggio di errore sul tipo di utente che non è corretto (e non capisco perché questo errore). Se pero' guardo in $form['#post'] vedo che i due campi sono stati inseriti correttamente con i valori da me inseriti.
Chi mi aiuta ?
Devo per forza costruire un modulo di registrazione tutto mio ?
M.
