public function query() {
$query = $this->select('field_config_instance', 'fci')
->fields('fci')
- ->fields('fc', ['type'])
+ ->fields('fc', ['type', 'translatable'])
->condition('fc.active', 1)
->condition('fc.storage_active', 1)
->condition('fc.deleted', 0)
}
}
+ // If the Drupal 7 Title module is enabled, we don't want to migrate the
+ // fields it provides. The values of those fields will be migrated to the
+ // base fields they were replacing.
+ if ($this->moduleExists('title')) {
+ $title_fields = [
+ 'title_field',
+ 'name_field',
+ 'description_field',
+ 'subject_field',
+ ];
+ $query->condition('fc.field_name', $title_fields, 'NOT IN');
+ }
+
return $query;
}
$translatable = FALSE;
if ($row->getSourceProperty('entity_type') == 'node') {
+ $language_content_type_bundle = (int) $this->variableGet('language_content_type_' . $row->getSourceProperty('bundle'), 0);
// language_content_type_[bundle] may be
// - 0: no language support
// - 1: language assignment support
// - 2: node translation support
// - 4: entity translation support
- if ($this->variableGet('language_content_type_' . $row->getSourceProperty('bundle'), 0) == 2) {
+ if ($language_content_type_bundle === 2 || ($language_content_type_bundle === 4 && $row->getSourceProperty('translatable'))) {
$translatable = TRUE;
}
}