function ContentEntityForm::addRevisionableFormFields
Same name in other branches
- 9 core/lib/Drupal/Core/Entity/ContentEntityForm.php \Drupal\Core\Entity\ContentEntityForm::addRevisionableFormFields()
- 8.9.x core/lib/Drupal/Core/Entity/ContentEntityForm.php \Drupal\Core\Entity\ContentEntityForm::addRevisionableFormFields()
- 10 core/lib/Drupal/Core/Entity/ContentEntityForm.php \Drupal\Core\Entity\ContentEntityForm::addRevisionableFormFields()
Add revision form fields if the entity enabled the UI.
Parameters
array $form: An associative array containing the structure of the form.
1 call to ContentEntityForm::addRevisionableFormFields()
- ContentEntityForm::form in core/
lib/ Drupal/ Core/ Entity/ ContentEntityForm.php
File
-
core/
lib/ Drupal/ Core/ Entity/ ContentEntityForm.php, line 410
Class
- ContentEntityForm
- Entity form variant for content entity types.
Namespace
Drupal\Core\EntityCode
protected function addRevisionableFormFields(array &$form) {
/** @var ContentEntityTypeInterface $entity_type */
$entity_type = $this->entity
->getEntityType();
$new_revision_default = $this->getNewRevisionDefault();
// Add a log field if the "Create new revision" option is checked, or if the
// current user has the ability to check that option.
$form['revision_information'] = [
'#type' => 'details',
'#title' => $this->t('Revision information'),
// Open by default when "Create new revision" is checked.
'#open' => $new_revision_default,
'#group' => 'advanced',
'#weight' => 20,
'#access' => $new_revision_default || $this->entity
->get($entity_type->getKey('revision'))
->access('update'),
'#optional' => TRUE,
'#attributes' => [
'class' => [
'entity-content-form-revision-information',
],
],
'#attached' => [
'library' => [
'core/drupal.entity-form',
],
],
];
$form['revision'] = [
'#type' => 'checkbox',
'#title' => $this->t('Create new revision'),
'#default_value' => $new_revision_default,
'#access' => !$this->entity
->isNew() && $this->entity
->get($entity_type->getKey('revision'))
->access('update'),
'#group' => 'revision_information',
];
// Get log message field's key from definition.
$log_message_field = $entity_type->getRevisionMetadataKey('revision_log_message');
if ($log_message_field && isset($form[$log_message_field])) {
$form[$log_message_field] += [
'#group' => 'revision_information',
'#states' => [
'visible' => [
':input[name="revision"]' => [
'checked' => TRUE,
],
],
],
];
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.