Добавление классов в регистрационную форму Drupal 7 - PullRequest
0 голосов
/ 18 мая 2018

Так что я использовал 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('');
}

Для имени, фамилии, организации разработчика, электронной почты классы добавляются успешно, но для полей пароля иполя капчи классы не добавляются

В чем может быть проблема?

1 Ответ

0 голосов
/ 20 мая 2018

В своем фрагменте кода вы изменяете форму user_register_form () .И это просто оболочка для полей формы учетной записи основного пользователя, полей настраиваемого профиля и других важных элементов.

Попробуйте изменить форму user_account_form () таким же образом, чтобы изменить имена классов для имени пользователя и пароля.fields.

И в документации каждой формы вы можете видеть, какие поля могут быть изменены напрямую, и какие другие формы обращаются к ним.

...