class EntityBaseFieldOverride

Same name in other branches
  1. 9 core/modules/migrate/src/Plugin/migrate/destination/EntityBaseFieldOverride.php \Drupal\migrate\Plugin\migrate\destination\EntityBaseFieldOverride
  2. 8.9.x core/modules/migrate/src/Plugin/migrate/destination/EntityBaseFieldOverride.php \Drupal\migrate\Plugin\migrate\destination\EntityBaseFieldOverride
  3. 11.x core/modules/migrate/src/Plugin/migrate/destination/EntityBaseFieldOverride.php \Drupal\migrate\Plugin\migrate\destination\EntityBaseFieldOverride

Provides entity base field override destination plugin.

Base fields are non-configurable fields that always exist on a given entity type, like the 'title', 'created' and 'sticky' fields of the 'node' entity type. Some entity types can have bundles, for example the node content types. The base fields exist on all bundles but the bundles can override the definitions. For example, the label for node 'title' base field can be different on different content types.

Example:

The example below migrates the node 'sticky' settings for each content type.


id: d6_node_setting_sticky
label: Node type 'sticky' setting
migration_tags:
  - Drupal 6
source:
  plugin: d6_node_type
  constants:
    entity_type: node
    field_name: sticky
process:
  entity_type: 'constants/entity_type'
  bundle: type
  field_name: 'constants/field_name'
  label:
    plugin: default_value
    default_value: 'Sticky at the top of lists'
  'default_value/0/value': 'options/sticky'
destination:
  plugin: entity:base_field_override
migration_dependencies:
  required:
    - d6_node_type

Hierarchy

Expanded class hierarchy of EntityBaseFieldOverride

File

core/modules/migrate/src/Plugin/migrate/destination/EntityBaseFieldOverride.php, line 46

Namespace

Drupal\migrate\Plugin\migrate\destination
View source
class EntityBaseFieldOverride extends EntityConfigBase {
    
    /**
     * {@inheritdoc}
     */
    protected function getEntityId(Row $row) {
        $entity_type = $row->getDestinationProperty('entity_type');
        $bundle = $row->getDestinationProperty('bundle');
        $field_name = $row->getDestinationProperty('field_name');
        return "{$entity_type}.{$bundle}.{$field_name}";
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
DependencyTrait::$dependencies protected property The object's dependencies.
DependencyTrait::addDependencies protected function Adds multiple dependencies.
DependencyTrait::addDependency protected function Adds a dependency.
DestinationBase::$migration protected property The migration.
DestinationBase::$rollbackAction protected property The rollback action to be saved for the last imported item.
DestinationBase::$supportsRollback protected property Indicates whether the destination can be rolled back.
DestinationBase::checkRequirements public function Checks if requirements for this plugin are OK. Overrides RequirementsInterface::checkRequirements
DestinationBase::getDestinationModule public function Gets the destination module handling the destination data. Overrides MigrateDestinationInterface::getDestinationModule 1
DestinationBase::rollbackAction public function The rollback action for the last imported item. Overrides MigrateDestinationInterface::rollbackAction
DestinationBase::setRollbackAction protected function For a destination item being updated, set the appropriate rollback action.
DestinationBase::supportsRollback public function Whether the destination can be rolled back or not. Overrides MigrateDestinationInterface::supportsRollback
Entity::$bundles protected property The list of the bundles of this entity type.
Entity::$entityFieldManager protected property The entity field manager.
Entity::$storage protected property The entity storage.
Entity::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides DependentPluginInterface::calculateDependencies
Entity::fields public function Returns an array of destination fields. Overrides MigrateDestinationInterface::fields
Entity::getBundle public function Gets the bundle for the row taking into account the default.
Entity::getEntity protected function Creates or loads an entity. 7
Entity::getKey protected function Returns a specific entity key.
Entity::processStubRow protected function Populates as much of the stub row as possible. 1
EntityBaseFieldOverride::getEntityId protected function Gets the entity ID of the row. Overrides Entity::getEntityId
EntityConfigBase::$configFactory protected property The configuration factory.
EntityConfigBase::$languageManager protected property The language manager.
EntityConfigBase::create public static function Creates an instance of the plugin. Overrides Entity::create 2
EntityConfigBase::generateId protected function Generates an entity ID.
EntityConfigBase::getIds public function Gets the destination IDs. Overrides MigrateDestinationInterface::getIds 3
EntityConfigBase::import public function Import the row. Overrides MigrateDestinationInterface::import 6
EntityConfigBase::isTranslationDestination protected function Get whether this destination is for translations.
EntityConfigBase::rollback public function Delete the specified destination object from the target Drupal. Overrides Entity::rollback 2
EntityConfigBase::updateEntity protected function Updates an entity with the contents of a row. Overrides Entity::updateEntity 1
EntityConfigBase::updateEntityProperty protected function Updates a (possible nested) entity property with a value. 1
EntityConfigBase::__construct public function Construct a new entity. Overrides Entity::__construct 2
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
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 6
PluginInspectionInterface::getPluginId public function Gets the plugin ID of the plugin instance. 2

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