所以我一直在使用drupal 7来开发一个网站。我想覆盖默认登录和注册表单。我能够成功地将自定义类添加到登录和密码表单中。但是当我想将这些相同的类添加到寄存器表单时,问题就出现了。
我使用这个钩子函数来尝试添加类
function MyTheme_form_user_register_form_alter(&$form, &$formState){
// set classes;
$form["#attributes"]["class"] = "form-element";
$form['field_first_name']['und'][0]['value']['#attributes']['class'][] = 'form-element__control';
$form['field_last_name']['und'][0]['value']['#attributes']['class'][] = 'form-element__control';
$form['field_developer_organization']['und'][0]['value']['#attributes']['class'][] = 'form-element__control';
$form['account']['mail']['#attributes']['class'][] = 'form-element__control';
$form['account']['pass']['pass1']['#attributes']['class'][] = 'form-element__control';
$form['account']['pass']['pass2']['#attributes']['class'][] = 'form-element__control';
$form['account']['captcha_response']['#attributes']['class'][] = 'form-element__control';
// remove descriptions;
$form['field_first_name']['und'][0]['value']['#description'] = t('');
$form['field_last_name']['und'][0]['value']['#description'] = t('');
$form['field_developer_organization']['und'][0]['value']['#description'] = t('');
$form['account']['mail']['#description'] = t('');
$form['account']['pass']['pass1']['#description'] = t('');
$form['account']['pass']['pass2']['#description'] = t('');
$form['account']['captcha_response']['#description'] = t('');
}
对于firstname,lastname,developer organization,email,成功添加了类,但是对于password字段和captcha字段,不添加类
可能是什么问题?
答案 0 :(得分:0)
在您的代码段中,您正在更改user_register_form()表单。它只是核心用户帐户表单字段,自定义配置文件字段和其他必需品的包装器。
尝试以相同的方式更改user_account_form(),修改用户名和密码字段的类名。
在每个表单的文档中,您可以看到哪些字段可以直接更改,以及其他哪些表单可以调用它们。