Добры день, всем. Изучаю друпал 8. Стоит задача изменить встроенную форму изменения пароля пользователя.
Во время прохождения пути по измению пароля пользователь попадает на форму user-form, где слишком много ненужных для меня полей. Как их скрыть?
Что я накопал:
В файле mytheme.theme пишу код:
<?php
function mytheme_form_user_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$form['test'] = array(
'#type' => 'textfield',
'#title' => t('Test field'),
'#description' => t('A field that would require a correct password to change.'),
'#required' => TRUE,
);
$form['test']['#access'] = FALSE;
$form['mail']['#access'] = FALSE;
}
?>
Поле test - это пробное поле, на нем я проверил добавление и скрытие поля. Но вот поле mail как было так и осталось. Помогите, пожалуйста, заранее спасибо.
Комментарии
Разобрался. Может кому пригодится.
$form['account']['mail']['#access'] = FALSE;
$form['language']['#access'] = FALSE;
$form['user_picture']['#access'] = FALSE;
$form['field_kompania']['#access'] = FALSE;
$form['contact']['#access'] = FALSE;
$form['timezone']['#access'] = FALSE;
field_kompania - это мое кастомное поле, добавленное в настройках профиля пользователя. Может кому пригодится.
еще можно так:
<?php
hide($form['field_NAME']);
?>