abstract class ComponentEntityDisplayBase in Drupal 8
Same name and namespace in other branches
- 9 core/modules/migrate/src/Plugin/migrate/destination/ComponentEntityDisplayBase.php \Drupal\migrate\Plugin\migrate\destination\ComponentEntityDisplayBase
Provides a destination plugin for migrating entity display components.
Display modes provide different presentations for viewing ('view modes') or editing ('form modes') content. This destination plugin is an abstract base class for migrating fields and other components into view and form modes.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\migrate\Plugin\migrate\destination\DestinationBase implements MigrateDestinationInterface, RequirementsInterface
- class \Drupal\migrate\Plugin\migrate\destination\ComponentEntityDisplayBase implements ContainerFactoryPluginInterface
- class \Drupal\migrate\Plugin\migrate\destination\DestinationBase implements MigrateDestinationInterface, RequirementsInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of ComponentEntityDisplayBase
See also
\Drupal\migrate\Plugin\migrate\destination\PerComponentEntityDisplay
\Drupal\migrate\Plugin\migrate\destination\PerComponentEntityFormDisplay
2 files declare their use of ComponentEntityDisplayBase
- DestinationCategoryTest.php in core/
modules/ migrate_drupal/ tests/ src/ Kernel/ Plugin/ migrate/ DestinationCategoryTest.php - PerComponentEntityDisplayTest.php in core/
modules/ migrate/ tests/ src/ Unit/ destination/ PerComponentEntityDisplayTest.php - Contains \Drupal\Tests\migrate\Unit\destination\PerComponentEntityDisplayTest.
File
- core/
modules/ migrate/ src/ Plugin/ migrate/ destination/ ComponentEntityDisplayBase.php, line 21
Namespace
Drupal\migrate\Plugin\migrate\destinationView source
abstract class ComponentEntityDisplayBase extends DestinationBase implements ContainerFactoryPluginInterface {
const MODE_NAME = '';
/**
* The entity display repository.
*
* @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface
*/
protected $entityDisplayRepository;
/**
* PerComponentEntityDisplay constructor.
*
* @param array $configuration
* A configuration array containing information about the plugin instance.
* @param string $plugin_id
* The plugin_id for the plugin instance.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\migrate\Plugin\MigrationInterface $migration
* The migration.
* @param \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entity_display_repository
* The entity display repository service.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EntityDisplayRepositoryInterface $entity_display_repository = NULL) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $migration);
if (!$entity_display_repository) {
@trigger_error('The entity_display.repository service must be passed to PerComponentEntityDisplay::__construct(), it is required before Drupal 9.0.0. See https://www.drupal.org/node/2835616.', E_USER_DEPRECATED);
$entity_display_repository = \Drupal::service('entity_display.repository');
}
$this->entityDisplayRepository = $entity_display_repository;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
return new static($configuration, $plugin_id, $plugin_definition, $migration, $container
->get('entity_display.repository'));
}
/**
* {@inheritdoc}
*/
public function import(Row $row, array $old_destination_id_values = []) {
$values = [];
// array_intersect_key() won't work because the order is important because
// this is also the return value.
foreach (array_keys($this
->getIds()) as $id) {
$values[$id] = $row
->getDestinationProperty($id);
}
$entity = $this
->getEntity($values['entity_type'], $values['bundle'], $values[static::MODE_NAME]);
if (!$row
->getDestinationProperty('hidden')) {
$entity
->setComponent($values['field_name'], $row
->getDestinationProperty('options') ?: []);
}
else {
$entity
->removeComponent($values['field_name']);
}
$entity
->save();
return array_values($values);
}
/**
* {@inheritdoc}
*/
public function getIds() {
$ids['entity_type']['type'] = 'string';
$ids['bundle']['type'] = 'string';
$ids[static::MODE_NAME]['type'] = 'string';
$ids['field_name']['type'] = 'string';
return $ids;
}
/**
* {@inheritdoc}
*/
public function fields(MigrationInterface $migration = NULL) {
// This is intentionally left empty.
}
/**
* Gets the entity.
*
* @param string $entity_type
* The entity type to retrieve.
* @param string $bundle
* The entity bundle.
* @param string $mode
* The display mode.
*
* @return \Drupal\Core\Entity\Display\EntityDisplayInterface
* The entity display object.
*/
protected abstract function getEntity($entity_type, $bundle, $mode);
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ComponentEntityDisplayBase:: |
protected | property | The entity display repository. | |
ComponentEntityDisplayBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
ComponentEntityDisplayBase:: |
public | function |
Returns an array of destination fields. Overrides MigrateDestinationInterface:: |
|
ComponentEntityDisplayBase:: |
abstract protected | function | Gets the entity. | 3 |
ComponentEntityDisplayBase:: |
public | function |
Gets the destination IDs. Overrides MigrateDestinationInterface:: |
|
ComponentEntityDisplayBase:: |
public | function |
Import the row. Overrides MigrateDestinationInterface:: |
|
ComponentEntityDisplayBase:: |
constant | 3 | ||
ComponentEntityDisplayBase:: |
public | function |
PerComponentEntityDisplay constructor. Overrides DestinationBase:: |
2 |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
DestinationBase:: |
protected | property | The migration. | |
DestinationBase:: |
protected | property | The rollback action to be saved for the last imported item. | |
DestinationBase:: |
protected | property | Indicates whether the destination can be rolled back. | |
DestinationBase:: |
public | function |
Checks if requirements for this plugin are OK. Overrides RequirementsInterface:: |
|
DestinationBase:: |
public | function |
Gets the destination module handling the destination data. Overrides MigrateDestinationInterface:: |
1 |
DestinationBase:: |
public | function |
Delete the specified destination object from the target Drupal. Overrides MigrateDestinationInterface:: |
2 |
DestinationBase:: |
public | function |
The rollback action for the last imported item. Overrides MigrateDestinationInterface:: |
|
DestinationBase:: |
protected | function | For a destination item being updated, set the appropriate rollback action. | |
DestinationBase:: |
public | function |
Whether the destination can be rolled back or not. Overrides MigrateDestinationInterface:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |