[support] User register form in 2 page or call my function for submit
Davide Michel 'ZioBudda' Morelli
michel at ziobudda.net
Thu Jan 3 16:58:36 UTC 2008
Ivan Sergio Borgonovo ha scritto:
> On Thu, 03 Jan 2008 17:17:51 +0100
> Davide Michel 'ZioBudda' Morelli <michel at ziobudda.net> wrote:
>
>
>> Hi all. I want to modify the user registration in 2+ steps or
>> better: I want that the form that new user use for registration
>> (/user/register) is splitted in 2+ page. This because via profile
>> module I have added 15 new field.
>>
>> I know that I can write a form splitted in 2 page (I read "Pro
>> Drupal Development), but I don't want to create the register form
>> from zero. I have tried to delete the $form['#submit'] value via
>> hook_form() but with no results. Is there a way to do this without
>> create a new module for user_register ?
>>
>
> What about alter_form + a redirect to another piece of registration?
>
It does not work. I don't know why, but user_register function is called
with or without other "validation".
> But well no luck if you plan to still use profile.module and avoid to
> write your own module.
>
Why this ? If I use profile.module I use core Drupal with a form/admin
page where I can insert new item without modify php code lines (if I use
my module).
> My main concern about approaching this problem this way would be to
> deal with core in a way that in the future may not be considered
> kosher or break up once you add other modules etc...
>
>
However this is my alter_form function:
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."-<br>");
}*/
}
}
Now my problem is this: I compile the "username and mail field" (only
items required) then I click on the "next" button and I get the same
page (ok, this is correct) but with username and email field empty and
an error messagge that say me that username and mail filed must be
non-empty. If I see the $form values via print_r() I can see that the
$form['post'] are not empty (see my else code).
M.
--
Michel 'ZioBudda' Morelli michel at ziobudda.net
Consulenza sistemistica in ambito OpenSource.
Sviluppo applicazioni web dinamiche (LAMP+Ajax)
Telefono: 0200619074
Telefono Cell: +39-3939890025 -- Fax: +39-0291390660
http://www.ziobudda.net ICQ: 58351764
http://www.ziobuddalabs.it Skype: zio_budda
http://www.ajaxblog.it MSN: michel at ziobuddalabs.it
JABBER: michel at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/support/attachments/20080103/0d530899/attachment.htm
More information about the support
mailing list