function multiversion_entity_base_field_info in Multiversion 8.2
Same name and namespace in other branches
- 8 multiversion.module \multiversion_entity_base_field_info()
Implements hook_entity_base_field_info().
Parameters
\Drupal\Core\Entity\EntityTypeInterface $entity_type:
Return value
\Drupal\Core\Field\BaseFieldDefinition[]
File
- ./
multiversion.module, line 148
Code
function multiversion_entity_base_field_info(EntityTypeInterface $entity_type) {
/** @var \Drupal\multiversion\MultiversionManagerInterface $manager */
$manager = \Drupal::service('multiversion.manager');
if ($manager
->allowToAlter($entity_type)) {
$fields = [];
// Get the 'published' key for the published status field.
$published_key = $entity_type
->getKey('published') ?: 'status';
// Add the status field.
if (empty($fields[$published_key])) {
$fields[$published_key] = BaseFieldDefinition::create('boolean')
->setName($published_key)
->setTargetEntityTypeId($entity_type
->id())
->setTargetBundle(NULL)
->setLabel(t('Publishing status'))
->setDescription(t('A boolean indicating the published state.'))
->setRevisionable(TRUE)
->setTranslatable(TRUE)
->setDefaultValue(TRUE);
}
$fields['_deleted'] = BaseFieldDefinition::create('boolean')
->setName('_deleted')
->setTargetEntityTypeId($entity_type
->id())
->setTargetBundle(NULL)
->setLabel(t('Deleted flag'))
->setDescription(t('Indicates if the entity is flagged as deleted or not.'))
->setRevisionable(TRUE)
->setTranslatable(FALSE)
->setDefaultValue(FALSE)
->setCardinality(1);
$fields['_rev'] = BaseFieldDefinition::create('revision_token')
->setName('_rev')
->setTargetEntityTypeId($entity_type
->id())
->setTargetBundle(NULL)
->setLabel(t('Revision token'))
->setDescription(t('The token for this entity revision.'))
->setRevisionable(TRUE)
->setTranslatable(FALSE)
->setCardinality(1)
->setReadOnly(TRUE);
return $fields;
}
}