trait EntityFieldDefinitionTrait
Same name in other branches
- 8.9.x core/modules/migrate/src/EntityFieldDefinitionTrait.php \Drupal\migrate\EntityFieldDefinitionTrait
- 10 core/modules/migrate/src/EntityFieldDefinitionTrait.php \Drupal\migrate\EntityFieldDefinitionTrait
- 11.x core/modules/migrate/src/EntityFieldDefinitionTrait.php \Drupal\migrate\EntityFieldDefinitionTrait
The entity field definition trait.
Hierarchy
- trait \Drupal\migrate\EntityFieldDefinitionTrait
3 files declare their use of EntityFieldDefinitionTrait
- ContentEntity.php in core/
modules/ migrate_drupal/ src/ Plugin/ migrate/ source/ ContentEntity.php - Entity.php in core/
modules/ migrate/ src/ Plugin/ migrate/ destination/ Entity.php - EntityContentComplete.php in core/
modules/ migrate/ src/ Plugin/ migrate/ destination/ EntityContentComplete.php
File
-
core/
modules/ migrate/ src/ EntityFieldDefinitionTrait.php, line 8
Namespace
Drupal\migrateView source
trait EntityFieldDefinitionTrait {
/**
* Gets the field definition from a specific entity base field.
*
* The method takes the field ID as an argument and returns the field storage
* definition to be used in getIds() by querying the destination entity base
* field definition.
*
* @param string $key
* The field ID key.
*
* @return array
* An associative array with a structure that contains the field type, keyed
* as 'type', together with field storage settings as they are returned by
* FieldStorageDefinitionInterface::getSettings().
*
* @see \Drupal\Core\Field\FieldStorageDefinitionInterface::getSettings()
*/
protected function getDefinitionFromEntity($key) {
$plugin_id = $this->getPluginId();
$entity_type_id = $this->getEntityTypeId($plugin_id);
/** @var \Drupal\Core\Field\FieldStorageDefinitionInterface[] $definitions */
$definitions = $this->entityFieldManager
->getBaseFieldDefinitions($entity_type_id);
$field_definition = $definitions[$key];
return [
'type' => $field_definition->getType(),
] + $field_definition->getSettings();
}
/**
* Finds the entity type from configuration or plugin ID.
*
* @param string $plugin_id
* The plugin ID.
*
* @return string
* The entity type.
*/
protected static function getEntityTypeId($plugin_id) {
$entity_type_id = NULL;
if (strpos($plugin_id, static::DERIVATIVE_SEPARATOR)) {
[
,
$entity_type_id,
] = explode(static::DERIVATIVE_SEPARATOR, $plugin_id, 2);
}
return $entity_type_id;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|
EntityFieldDefinitionTrait::getDefinitionFromEntity | protected | function | Gets the field definition from a specific entity base field. | |
EntityFieldDefinitionTrait::getEntityTypeId | protected static | function | Finds the entity type from configuration or plugin ID. | 3 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.