class FieldCollection in Paragraphs 8
Field Plugin for field collection migrations.
Plugin annotation
@MigrateField(
id = "field_collection",
core = {7},
type_map = {
"field_collection" = "entity_reference_revisions",
},
source_module = "field_collection",
destination_module = "paragraphs",
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\migrate_drupal\Plugin\migrate\field\FieldPluginBase implements MigrateFieldInterface
- class \Drupal\paragraphs\Plugin\migrate\field\FieldCollection
- class \Drupal\migrate_drupal\Plugin\migrate\field\FieldPluginBase implements MigrateFieldInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of FieldCollection
4 files declare their use of FieldCollection
- FieldCollectionFieldInstanceSettings.php in src/
Plugin/ migrate/ process/ FieldCollectionFieldInstanceSettings.php - FieldCollectionItem.php in src/
Plugin/ migrate/ source/ d7/ FieldCollectionItem.php - FieldCollectionType.php in src/
Plugin/ migrate/ source/ d7/ FieldCollectionType.php - MigrationPluginsAlterer.php in src/
MigrationPluginsAlterer.php
File
- src/
Plugin/ migrate/ field/ FieldCollection.php, line 21
Namespace
Drupal\paragraphs\Plugin\migrate\fieldView source
class FieldCollection extends FieldPluginBase {
/*
* Length of the 'field_' prefix that field collection prepends to bundles.
*/
const FIELD_COLLECTION_PREFIX_LENGTH = 6;
/**
* {@inheritdoc}
*/
public function defineValueProcessPipeline(MigrationInterface $migration, $field_name, $data) {
$process = [
'plugin' => 'sub_process',
'source' => $field_name,
'process' => [
'target_id' => [
[
'plugin' => 'paragraphs_lookup',
'tags' => 'Field Collection Content',
'source' => 'value',
],
[
'plugin' => 'extract',
'index' => [
'id',
],
],
],
'target_revision_id' => [
[
'plugin' => 'paragraphs_lookup',
'tags' => [
'Field Collection Revisions Content',
'Field Collection Content',
],
'tag_ids' => [
'Field Collection Revisions Content' => [
'revision_id',
],
'Field Collection Content' => [
'value',
],
],
],
[
'plugin' => 'extract',
'index' => [
'revision_id',
],
],
],
],
];
$migration
->setProcessOfProperty($field_name, $process);
// Add the respective field collection migration as a dependency.
$migration_dependency = 'd7_field_collection:' . substr($field_name, static::FIELD_COLLECTION_PREFIX_LENGTH);
$migration_rev_dependency = 'd7_field_collection_revisions:' . substr($field_name, static::FIELD_COLLECTION_PREFIX_LENGTH);
$dependencies = $migration
->getMigrationDependencies() + [
'required' => [],
];
$dependencies['required'] = array_unique(array_merge(array_values($dependencies['required']), [
$migration_dependency,
]));
$migration
->set('migration_dependencies', $dependencies);
if (strpos($migration
->getDestinationPlugin()
->getPluginId(), 'entity_revision:') === 0 || strpos($migration
->getDestinationPlugin()
->getPluginId(), 'entity_complete:') === 0) {
$dependencies['required'] = array_unique(array_merge(array_values($dependencies['required']), [
$migration_rev_dependency,
]));
$migration
->set('migration_dependencies', $dependencies);
}
}
/**
* {@inheritdoc}
*/
public function alterFieldFormatterMigration(MigrationInterface $migration) {
$this
->addViewModeProcess($migration);
parent::alterFieldFormatterMigration($migration);
}
/**
* {@inheritdoc}
*/
public function getFieldFormatterMap() {
return [
'field_collection_view' => 'entity_reference_revisions_entity_view',
] + parent::getFieldFormatterMap();
}
/**
* {@inheritdoc}
*/
public function getFieldWidgetMap() {
return [
'field_collection_embed' => 'entity_reference_paragraphs',
] + parent::getFieldWidgetMap();
}
/**
* {@inheritdoc}
*/
public function alterFieldMigration(MigrationInterface $migration) {
$settings = [
'field_collection' => [
'plugin' => 'field_collection_field_settings',
],
];
$migration
->mergeProcessOfProperty('settings', $settings);
}
/**
* {@inheritdoc}
*/
public function alterFieldInstanceMigration(MigrationInterface $migration) {
$settings = [
'field_collection' => [
'plugin' => 'field_collection_field_instance_settings',
],
];
$migration
->mergeProcessOfProperty('settings', $settings);
}
/**
* Adds process for view mode settings.
*
* @param \Drupal\migrate\Plugin\MigrationInterface $migration
* The migration.
*/
protected function addViewModeProcess(MigrationInterface $migration) {
$view_mode = [
'field_collection' => [
'plugin' => 'paragraphs_process_on_value',
'source_value' => 'type',
'expected_value' => 'field_collection',
'process' => [
'plugin' => 'get',
'source' => 'formatter/settings/view_mode',
],
],
];
$migration
->mergeProcessOfProperty('options/settings/view_mode', $view_mode);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
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 | |
FieldCollection:: |
protected | function | Adds process for view mode settings. | |
FieldCollection:: |
public | function |
Apply any custom processing to the field formatter migration. Overrides FieldPluginBase:: |
|
FieldCollection:: |
public | function |
Apply any custom processing to the field instance migration. Overrides FieldPluginBase:: |
|
FieldCollection:: |
public | function |
Apply any custom processing to the field migration. Overrides FieldPluginBase:: |
|
FieldCollection:: |
public | function |
Apply any custom processing to the field bundle migrations. Overrides FieldPluginBase:: |
|
FieldCollection:: |
constant | |||
FieldCollection:: |
public | function |
Get a map between D6 formatters and D8 formatters for this field type. Overrides FieldPluginBase:: |
|
FieldCollection:: |
public | function |
Get a map between D6 and D8 widgets for this field type. Overrides FieldPluginBase:: |
|
FieldPluginBase:: |
public | function |
Apply any custom processing to the field widget migration. Overrides MigrateFieldInterface:: |
|
FieldPluginBase:: |
public | function |
Get the field formatter type from the source. Overrides MigrateFieldInterface:: |
1 |
FieldPluginBase:: |
public | function |
Computes the destination type of a migrated field. Overrides MigrateFieldInterface:: |
6 |
FieldPluginBase:: |
public | function |
Get the field widget type from the source. Overrides MigrateFieldInterface:: |
1 |
FieldPluginBase:: |
public | function | Alters the migration for field definitions. | |
FieldPluginBase:: |
public | function | Alter field formatter migration. | |
FieldPluginBase:: |
public | function | Alert field instance migration. | |
FieldPluginBase:: |
public | function | Defines the process pipeline for field values. | |
FieldPluginBase:: |
public | function | Alter field widget migration. | |
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. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 92 |
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. |