Quero modificar e adicionar um campo de texto na minha página de usuário / registro do Drupal 7. Eu sei que o formulário é gerado pela funçãouser_register_form()
Posso adicionar um campo de texto dessa maneira?
function bartik_copy_user_login($form, &$form_state) {
global $user;
// If we are already logged on, go to the user page instead.
if ($user->uid) {
drupal_goto('user/' . $user->uid);
}
// Display login form:
$form['name'] = array('#type' => 'textfield',
'#title' => t('Username'),
'#size' => 60,
'#maxlength' => USERNAME_MAX_LENGTH,
'#required' => TRUE,
);
$form['name']['#description'] = t('Enter your @s username.', array('@s' => variable_get('site_name', 'Drupal')));
$form['pass'] = array('#type' => 'password',
'#title' => t('Password'),
'#description' => t('Enter that accompanies your username.'),
'#required' => TRUE,
);
$form['address'] = array('#type' => 'textfield',
'#title' => t('Your address'),
'#size' => 60,
'#maxlength' => 125,
'#required' => TRUE,
);
$form['#validate'] = user_login_default_validators();
$form['actions'] = array('#type' => 'actions');
$form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Log in'));
return $form;
}
Exemplo de como adicionar programaticamente campos ao perfil do usuário e como utilizá-los, ou não, no formulário Registro do Usuário.
fonte
Você pode usar hook_form_FORM_ID_alter () para adicionar novos campos ao formulário de registro no Drupal 7.
Aqui está um exemplo de adição de campo de confirmação de email adicional, incluindo o retorno de chamada de validação.
fonte