Snippets

Metadrop Install new base fields on an existing entity_type

Created by David López
<?php

use Drupal\Core\Field\FieldStorageDefinitionInterface;

$module_name = 'MODULE';
$entity_type = 'ENTITY_TYPE';
$fields = [
    'BASE_FIELD_NAME_1',
    'BASE_FIELD_NAME_2',
    'BASE_FIELD_NAME_n',
];

$entity_definition_update_manager = \Drupal::entityDefinitionUpdateManager();
$field_definitions = \Drupal::service('entity_field.manager')
    ->getFieldDefinitions($entity_type,$entity_type);
foreach ($fields as $field_name) {
    if (!empty($field_definitions[$field_name]) && $field_definitions[$field_name] instanceof FieldStorageDefinitionInterface) {
        $entity_definition_update_manager
            ->installFieldStorageDefinition(
            $field_name,
            $entity_type,
            $module_name,
            $field_definitions[$field_name]);
    }
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.