Рейтинг:1

Сделать поле «Заголовок» «не обязательным» или обходной путь, как предварительно заполнить и скрыть его (drupal 9.2.8)

флаг ug

На моем сайте (drupal 9.2.8) пользователи добавляют контент, и нет необходимости указывать какую-либо информацию в поле «Заголовок». Я пытался сделать это поле необязательным через form_alter в пользовательском модуле, но это не сработало:

функция yourmodule_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id){
  если ($form['#form_id'] == 'node_somenode_form' или $form['#form_id'] == 'node_somenode_form'){
    $form['title']['widget']['0']['#required'] = FALSE; // не работает
    $form['title']['widget']['#required'] = FALSE; // не работает
    $form['title']['#required'] = FALSE; // не работает
  }
}

В качестве обходного пути в моем модуле я предварительно заполняю заголовок с помощью form_alter:

$form['title']['widget']['0']['value']['#default_value'] = 'любой заголовок по умолчанию';

а затем просто скройте это поле из формы. Есть несколько способов сделать это (В форме изменить, каков другой способ скрытия полей и в чем разница между ними? ), я решил использовать hide:

скрыть ($ форма ['название']);

но мне любопытно, почему ['#требуется'] = ЛОЖЬ; не работает для поля заголовка, но отлично работает с другими полями.

Рейтинг:1
флаг bd

Вы должны использовать Автоматическая метка объекта:

«Автоматическая метка объекта» — это небольшой и эффективный модуль, позволяющий скрывать поля метки объекта.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.