diff --git a/core/modules/views/src/EntityViewsData.php b/core/modules/views/src/EntityViewsData.php index 3d3de6d..20f03de 100644 --- a/core/modules/views/src/EntityViewsData.php +++ b/core/modules/views/src/EntityViewsData.php @@ -389,9 +389,12 @@ protected function mapFieldDefinition($table, $field_name, FieldDefinitionInterf $data = []; foreach ($field_column_mapping as $field_column_name => $schema_field_name) { $views_field_name = ($multiple) ? $field_name . '__' . $field_column_name : $field_name; - /** @var \Drupal\views\Plugin\views\FieldTypeViewsDataInterface $field_type_views_data_plugin */ + $field_type_definition_exists = $this->fieldTypeViewsData->hasDefinition($field_definition_type); - if ($field_type_definition_exists && ($field_type_views_data_plugin = $this->fieldTypeViewsData->createInstance($field_definition_type))) { + if ($field_type_definition_exists) { + /** @var \Drupal\views\Plugin\views\FieldTypeViewsDataInterface $field_type_views_data_plugin */ + $field_type_views_data_plugin = $this->fieldTypeViewsData->createInstance($field_definition_type); + // Use the field type views data plugins to get the data for the field // from the data-storage. $data[$views_field_name] = $field_type_views_data_plugin->getViewsData($field_storage_definition, $field_column_name);