Hi,
i want to theme registration form as per my site, so, i followed following process:
in template.php file, i added following code:
function mytheme_theme($existing, $type, $theme, $path){
return array(
'user_register' => array(
'render element' => 'form',
'template' => 'templates/user-register',
),
'user_login_block' => array(
'template' => 'templates/user-login-block',
'render element' => 'form',
),
);
}
function mytheme_preprocess_user_register(&$variables) {
$variables['rendered'] = drupal_render_children($variables['form']);
}
Now if i use echo $rendered;
whole form gets displayed, but, i want to display different fields individually, please advise me and help me to achieve this.
like in div1 firstname
in div2 lastname.
Thanks,
Kul.
Comments
I used following code in
I used following code in template.php:
function mytheme_theme($existing, $type, $theme, $path){
return array(
'user_register' => array(
'render element' => 'form',
'template' => 'templates/user-register',
),
'user_login_block' => array(
'template' => 'templates/user-login-block',
'render element' => 'form',
),
);
}
function themename_preprocess_user_register(&$vars) {
// Uncomment the following line if Devel module is enabled, to view the contents of the form.
// dsm($vars['form']);
unset($vars['form']['timezone']['timezone']['#title']);
// Adjust the size of several fields to fit better in 2 columns.
$vars['form']['account']['name']['#size'] = 25;
$vars['form']['actions']['submit']['#value'] = '';
$vars['form']['account']['mail']['#size'] = 25;
$vars['form']['picture']['picture_upload']['#size'] = 40;
$vars['form']['signature_settings']['signature']['#cols'] = 50;
$vars['form_build_id']= drupal_render($vars['form']['form_build_id']);
$vars['form_id']= drupal_render($vars['form']['form_id']);
$vars['timezone']= drupal_render($vars['form']['timezone']);
// Prepare all of the desired form elements as variables, to be used in user-profile-form.tpl.php.
// Everything before this part is optional.
$vars['firstname'] = drupal_render($vars['form']['field_firstname']);
$vars['lastname'] = drupal_render($vars['form']['field_lastname']);
$vars['submit'] = drupal_render($vars['form']['actions']['submit']);
$vars['reset'] = drupal_render($vars['form']['actions']['reset']);
Then in template(user-register):
print $firstname;//field variableAlso, one important thing to render form:
function golf4millions_get_registration_block() {
$form = drupal_render(drupal_get_form('user_register_form'));
return theme_status_messages($display = NULL).$form;
}
then call this function in page.tpl.php like:
print golf4millions_get_registration_block() ;
Can't theme the registration form
this is my code
Nothing is happen, 'user_login' and 'user_pass' works well. I have cleared cache also.
Could you let me know how you make it work, please? i'm using drupal 7.
OK, I got it
I use 'user_register_form' instead of 'user_register'