function ConfigTestHooks::entityTypeAlter

Same name and namespace in other branches
  1. 11.x core/modules/config/tests/config_test/src/Hook/ConfigTestHooks.php \Drupal\config_test\Hook\ConfigTestHooks::entityTypeAlter()

Implements hook_entity_type_alter().

Attributes

#[Hook('entity_type_alter')]

File

core/modules/config/tests/config_test/src/Hook/ConfigTestHooks.php, line 27

Class

ConfigTestHooks
Hook implementations for config_test.

Namespace

Drupal\config_test\Hook

Code

public function entityTypeAlter(array &$entity_types) : void {
  /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */
  // The 'translatable' entity key is not supposed to change over time. In
  // this case we can safely do it because we set it once and we do not change
  // it for all the duration of the test session.
  $entity_types['config_test']->set('translatable', \Drupal::service('state')->get('config_test.translatable'));
  // Create a clone of config_test that does not have a status.
  $entity_types['config_test_no_status'] = clone $entity_types['config_test'];
  $config_test_no_status =& $entity_types['config_test_no_status'];
  $config_test_no_status->setLinkTemplate('edit-form', '/admin/structure/config_test/manage/{config_test_no_status}');
  $config_test_no_status->setLinkTemplate('delete-form', '/admin/structure/config_test/manage/{config_test_no_status}/delete');
  $keys = $config_test_no_status->getKeys();
  unset($keys['status']);
  $config_test_no_status->set('id', 'config_test_no_status');
  $config_test_no_status->set('entity_keys', $keys);
  $config_test_no_status->set('config_prefix', 'no_status');
  $config_test_no_status->set('mergedConfigExport', [
    'id' => 'id',
    'label' => 'label',
    'uuid' => 'uuid',
    'langcode' => 'langcode',
  ]);
  if (\Drupal::service('state')->get('config_test.lookup_keys', FALSE)) {
    $entity_types['config_test']->set('lookup_keys', [
      'uuid',
      'style',
    ]);
  }
  if (\Drupal::service('state')->get('config_test.class_override', FALSE)) {
    $entity_types['config_test']->setClass(\Drupal::service('state')->get('config_test.class_override'));
  }
}

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