Bạn cần làm hai bước:
Bước một: tự động tạo tiêu đề và hình thức ẩn. sử dụng hook_field_widget_form_alter () với mã
function MY_MODULE_field_widget_form_alter(&$element, \Drupal\Core\Form\FormStateInterface $form_state, $context) {
$field_definition = $context['items']->getFieldDefinition();
$bundle = $form_state->getFormObject()->getEntity()->bundle();
// You can check with other bundle
if ($field_definition->getName() == 'title' && $bundle == 'page' && $element['value']['#default_value'] == '') {
$element['#required'] = FALSE;
//hidden title
$element['#type'] = 'hidden';
$element['value']['#required'] = FALSE;
// Set default value
$element['value']['#default_value'] = 'Default Title';
}
}
với bước một bạn có thể gửi mẫu đơn.
Bước hai: Ghi đè tiêu đề mới với giá trị mặc định. Sử dụng hook_node_insert ()
function MY_MODULE_node_insert(Drupal\node\NodeInterface $node) {
if ($node->bundle() == 'page') {
$new_title = 'New title ' . $node->id();
$node->setTitle($new_title);
$node->setNewRevision(FALSE);
$node->save();
}
}