You are here

function field_test_entity_info_translatable in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/field/tests/modules/field_test/field_test.entity.inc \field_test_entity_info_translatable()
  2. 7 modules/field/tests/field_test.entity.inc \field_test_entity_info_translatable()

Helper function to enable entity translations.

3 calls to field_test_entity_info_translatable()
field_test_entity_type_alter in core/modules/field/tests/modules/field_test/field_test.entity.inc
Implements hook_entity_type_alter().
TranslationTest::testTranslatableFieldSaveLoad in core/modules/field/tests/src/Kernel/TranslationTest.php
Tests translatable fields storage/retrieval.
TranslationWebTest::testFieldFormTranslationRevisions in core/modules/field/tests/src/Functional/TranslationWebTest.php
Tests field translations when creating a new revision.

File

core/modules/field/tests/modules/field_test/field_test.entity.inc, line 21
Defines an entity type.

Code

function field_test_entity_info_translatable($entity_type_id = NULL, $translatable = NULL) {
  static $stored_value = [];
  if (isset($entity_type_id)) {
    $entity_definition_update_manager = \Drupal::entityDefinitionUpdateManager();
    $entity_type = $entity_definition_update_manager
      ->getEntityType($entity_type_id);
    $stored_value[$entity_type_id] = $translatable;
    if ($translatable != $entity_type
      ->isTranslatable()) {
      $entity_definition_update_manager
        ->uninstallEntityType($entity_type);
      $entity_type
        ->set('translatable', $translatable);
      $entity_definition_update_manager
        ->installEntityType($entity_type);
    }
  }
  return $stored_value;
}