Drupal 8. Работа со встроенными формами.

Главные вкладки

Аватар пользователя Lexins Lexins 28 апреля 2016 в 14:09

Добры день, всем. Изучаю друпал 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 как было так и осталось. Помогите, пожалуйста, заранее спасибо.

Комментарии

Аватар пользователя Lexins Lexins 29 апреля 2016 в 8:52

Разобрался. Может кому пригодится.

$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 - это мое кастомное поле, добавленное в настройках профиля пользователя. Может кому пригодится.