diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field.yml b/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field.yml index 690f193..f838a74 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field.yml +++ b/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field.yml @@ -7,7 +7,7 @@ source: constants: entity_type: node type: entity_reference - parent: 0 + target_entity_type: taxonomy_term cardinality: -1 process: entity_type: 'constants/entity_type' @@ -16,8 +16,7 @@ process: plugin: migration migration: d6_taxonomy_vocabulary source: vid - 'settings/allowed_values/0/vocabulary': @field_name - 'settings/allowed_values/0/parent': 'constants/parent' + 'settings/target_type': 'constants/target_entity_type' cardinality: 'constants/cardinality' destination: plugin: entity:field_storage_config diff --git a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field_instance.yml b/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field_instance.yml index 15d8186..d0633db 100644 --- a/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field_instance.yml +++ b/core/modules/migrate_drupal/config/install/migrate.migration.d6_vocabulary_field_instance.yml @@ -6,7 +6,6 @@ source: plugin: d6_taxonomy_vocabulary_per_type constants: entity_type: node - parent: 0 process: entity_type: 'constants/entity_type' bundle: type @@ -14,6 +13,7 @@ process: plugin: migration migration: d6_taxonomy_vocabulary source: vid + 'settings/handler_settings/target_bundles/0': @field_name destination: plugin: entity:field_config migration_dependencies: diff --git a/core/modules/migrate_drupal/config/schema/migrate_drupal.source.schema.yml b/core/modules/migrate_drupal/config/schema/migrate_drupal.source.schema.yml index e28173f..d67cb87 100644 --- a/core/modules/migrate_drupal/config/schema/migrate_drupal.source.schema.yml +++ b/core/modules/migrate_drupal/config/schema/migrate_drupal.source.schema.yml @@ -290,6 +290,9 @@ migrate_entity_constant: id: type: string label: 'ID' + target_entity_type: + type: string + label: 'Target entity type' view_mode: type: string label: 'View mode' diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php index 5f9804b..b0b6335 100644 --- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php +++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldInstanceTest.php @@ -88,6 +88,9 @@ public function testVocabularyFieldInstance() { $field = FieldConfig::load($field_id); $this->assertIdentical($field->id(), $field_id, 'Field instance exists on page bundle.'); + $settings = $field->getSettings(); + $this->assertIdentical(['tags'], $settings['handler_settings']['target_bundles'], 'The target_bundle handler setting is correct.'); + $this->assertIdentical(array('node', 'article', 'tags'), entity_load('migration', 'd6_vocabulary_field_instance')->getIdMap()->lookupDestinationID(array(4, 'article'))); } diff --git a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php index 6ff0ee0..b7cf3bb 100644 --- a/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php +++ b/core/modules/migrate_drupal/src/Tests/d6/MigrateVocabularyFieldTest.php @@ -64,10 +64,8 @@ public function testVocabularyField() { $field_storage = FieldStorageConfig::load($field_storage_id); $this->assertIdentical($field_storage->id(), $field_storage_id); - // @todo We should also check if field configs are created, not just the - // field storage config. Apparently, they are not. - //$settings = $field_storage->getSettings(); - //$this->assertIdentical('tags', $settings['allowed_values'][0]['vocabulary'], "Vocabulary has correct settings."); + $settings = $field_storage->getSettings(); + $this->assertIdentical('taxonomy_term', $settings['target_type'], "Target type is correct."); $this->assertIdentical(array('node', 'tags'), entity_load('migration', 'd6_vocabulary_field')->getIdMap()->lookupDestinationID(array(4)), "Test IdMap"); }