diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/FieldInstancePerViewMode.php b/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/FieldInstancePerViewMode.php index 060c055..8912788 100644 --- a/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/FieldInstancePerViewMode.php +++ b/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/FieldInstancePerViewMode.php @@ -31,7 +31,7 @@ protected function runQuery() { $field_name = $field_row['field_name']; foreach ($this->getViewModes() as $view_mode) { - if (isset($field_row['display_settings'][$view_mode]) && !$field_row['display_settings'][$view_mode]['exclude']) { + if (isset($field_row['display_settings'][$view_mode]) && isset($field_row['display_settings'][$view_mode]['exclude']) && !$field_row['display_settings'][$view_mode]['exclude']) { $index = $view_mode . "." . $bundle . "." . $field_name; $rows[$index]['entity_type'] = 'node'; $rows[$index]['view_mode'] = $view_mode; diff --git a/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/ViewMode.php b/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/ViewMode.php index d57c5a4..0f1025d 100644 --- a/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/ViewMode.php +++ b/core/modules/migrate_drupal/src/Plugin/migrate/source/d6/ViewMode.php @@ -26,7 +26,7 @@ protected function runQuery() { while ($field_row = $result->fetchAssoc()) { $field_row['display_settings'] = unserialize($field_row['display_settings']); foreach ($this->getViewModes() as $view_mode) { - if (isset($field_row['display_settings'][$view_mode]) && (!isset($field_row['display_settings'][$view_mode]['exclude']) || !$field_row['display_settings'][$view_mode]['exclude'])) { + if (isset($field_row['display_settings'][$view_mode]) && isset($field_row['display_settings'][$view_mode]['exclude']) && !$field_row['display_settings'][$view_mode]['exclude']) { if (!isset($rows[$view_mode])) { $rows[$view_mode]['entity_type'] = 'node'; $rows[$view_mode]['view_mode'] = $view_mode; diff --git a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6FieldInstance.php b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6FieldInstance.php index 7bf45c3..acba4dc 100644 --- a/core/modules/migrate_drupal/src/Tests/Dump/Drupal6FieldInstance.php +++ b/core/modules/migrate_drupal/src/Tests/Dump/Drupal6FieldInstance.php @@ -854,6 +854,47 @@ public function load() { )), 'description' => 'An example integer field.', )) + ->values(array( + 'field_name' => 'field_test_exclude', + 'type_name' => 'story', + 'weight' => 1, + 'label' => 'Text Field', + 'widget_type' => 'text_textfield', + 'widget_settings' => serialize(array( + 'rows' => 5, + 'size' => '60', + 'default_value' => array( + 0 => array( + 'value' => 'text for default value', + '_error_element' => 'default_value_widget][field_test][0][value', + ), + ), + 'default_value_php' => NULL, + )), + 'display_settings' => serialize(array( + 'weight' => 1, + 'parent' => '', + 'label' => array( + 'format' => 'above', + ), + 1 => array( + 'format' => 'default', + ), + 'teaser' => array( + 'format' => 'trimmed', + ), + 'full' => array( + 'format' => 'default', + ), + 4 => array( + 'format' => 'trimmed', + ), + 5 => array( + 'format' => 'default', + ), + )), + 'description' => 'An example text field without exclude.', + )) ->execute(); // Create the field table.