function EntityTypeInfo::entityTypeAlter

Same name in this branch
  1. 10 core/modules/content_moderation/src/EntityTypeInfo.php \Drupal\content_moderation\EntityTypeInfo::entityTypeAlter()
Same name and namespace in other branches
  1. 9 core/modules/content_moderation/src/EntityTypeInfo.php \Drupal\content_moderation\EntityTypeInfo::entityTypeAlter()
  2. 9 core/modules/workspaces/src/EntityTypeInfo.php \Drupal\workspaces\EntityTypeInfo::entityTypeAlter()
  3. 8.9.x core/modules/content_moderation/src/EntityTypeInfo.php \Drupal\content_moderation\EntityTypeInfo::entityTypeAlter()
  4. 8.9.x core/modules/workspaces/src/EntityTypeInfo.php \Drupal\workspaces\EntityTypeInfo::entityTypeAlter()
  5. 11.x core/modules/content_moderation/src/EntityTypeInfo.php \Drupal\content_moderation\EntityTypeInfo::entityTypeAlter()
  6. 11.x core/modules/workspaces/src/EntityTypeInfo.php \Drupal\workspaces\EntityTypeInfo::entityTypeAlter()

Adds Workspace configuration to appropriate entity types.

Parameters

\Drupal\Core\Entity\EntityTypeInterface[] $entity_types: An array of entity types.

See also

hook_entity_type_alter()

File

core/modules/workspaces/src/EntityTypeInfo.php, line 81

Class

EntityTypeInfo
Manipulates entity type information.

Namespace

Drupal\workspaces

Code

public function entityTypeAlter(array &$entity_types) {
    foreach ($entity_types as $entity_type) {
        if (!$this->workspaceInfo
            ->isEntityTypeSupported($entity_type)) {
            continue;
        }
        // Workspace-support status has been declared in the "build" phase, now we
        // can use that information and add additional configuration in the
        // "alter" phase.
        $entity_type->addConstraint('EntityWorkspaceConflict');
        $entity_type->setRevisionMetadataKey('workspace', 'workspace');
        // Non-default workspaces display the active revision on the canonical
        // route of an entity, so the latest version route is no longer needed.
        $link_templates = $entity_type->get('links');
        unset($link_templates['latest-version']);
        $entity_type->set('links', $link_templates);
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.