Я хочу изменить и добавить текстовое поле на моей странице пользователя / регистрации в Drupal 7. Я знаю, что форма генерируется функциейuser_register_form()
Могу ли я добавить текстовое поле таким образом?
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;
}
Пример того, как программно добавлять поля в профиль пользователя и как использовать их или нет в форме регистрации пользователя.
источник
Вы можете использовать hook_form_FORM_ID_alter () для добавления новых полей в регистрационную форму в Drupal 7.
Вот пример добавления дополнительного поля подтверждения по электронной почте, включая обратный вызов проверки.
источник