* - type: The field type.
* - bundles: The bundles in which the field appears.
*
- * @return array
+ * @var array
*/
protected $fieldMap = [];
}
}
+ // Make sure that revisionable entity types are correctly defined.
+ if ($entity_type->isRevisionable() && $entity_type->isTranslatable()) {
+ // The 'revision_translation_affected' field should always be defined.
+ // This field has been added unconditionally in Drupal 8.4.0 and it is
+ // overriding any pre-existing definition on purpose so that any
+ // differences are immediately available in the status report.
+ $base_field_definitions[$keys['revision_translation_affected']] = BaseFieldDefinition::create('boolean')
+ ->setLabel($this->t('Revision translation affected'))
+ ->setDescription($this->t('Indicates if the last edit of a translation belongs to current revision.'))
+ ->setReadOnly(TRUE)
+ ->setRevisionable(TRUE)
+ ->setTranslatable(TRUE);
+ }
+
// Assign base field definitions the entity type provider.
$provider = $entity_type->getProvider();
foreach ($base_field_definitions as $definition) {
// Load base field overrides from configuration. These take precedence over
// base field overrides returned above.
- $base_field_override_ids = array_map(function($field_name) use ($entity_type_id, $bundle) {
+ $base_field_override_ids = array_map(function ($field_name) use ($entity_type_id, $bundle) {
return $entity_type_id . '.' . $bundle . '.' . $field_name;
}, array_keys($base_field_definitions));
$base_field_overrides = $this->entityTypeManager->getStorage('base_field_override')->loadMultiple($base_field_override_ids);