You are here

function _layout_builder_st_add_translation_field in Layout Builder Symmetric Translations 8

Adds a layout translation field to a given bundle.

Parameters

string $entity_type_id: The entity type ID.

string $bundle: The bundle.

1 call to _layout_builder_st_add_translation_field()
layout_builder_st_install in ./layout_builder_st.install
Implements hook_install().

File

./layout_builder_st.install, line 43

Code

function _layout_builder_st_add_translation_field($entity_type_id, $bundle) {
  $field_name = OverridesSectionStorage::TRANSLATED_CONFIGURATION_FIELD_NAME;
  $field = FieldConfig::loadByName($entity_type_id, $bundle, $field_name);
  if (!$field) {
    $field_storage = FieldStorageConfig::loadByName($entity_type_id, $field_name);
    if (!$field_storage) {
      $field_storage = FieldStorageConfig::create([
        'entity_type' => $entity_type_id,
        'field_name' => $field_name,
        'type' => 'layout_translation',
        'locked' => TRUE,
      ]);
      $field_storage
        ->setTranslatable(TRUE);
      $field_storage
        ->save();
    }
    $field = FieldConfig::create([
      'field_storage' => $field_storage,
      'bundle' => $bundle,
      'label' => t('Layout Labels'),
    ]);
    $field
      ->save();
  }
}