When exporting display configs containing extra fields, we get config validation errors.
These can be seen with config_inspector.
Violations are of type: The '@plugin_id' plugin does not exist (where @plugin_id is extra_field_{name}
).
See schema definitions for core.entity_view_display.*.*.*
, field_formatter.entity_view_display
, field_formatter
There is a constraint on field_formatter
"type":
field_formatter:
type: mapping
label: 'Field formatter'
mapping:
type:
type: string
label: 'Format type machine name'
constraints:
PluginExists:
manager: plugin.manager.field.formatter
interface: 'Drupal\Core\Field\FormatterInterface'
But these extra fields are not formatter plugins, hence we get the error.
---
Another side effect is that on 10.3.x, since
✨
Add option to show only start or end date in the DateTime Range custom formatter
Needs review
, PHP warnings are being logged from datetime_range_entity_view_display_presave
because the code there expects to see field formatters:
[warning] Trying to access array offset on null datetime_range.module:57
This is apparently removed in 11.x from
📌
Remove redudundat hook_ENTITY_TYPE_presave() and ViewsConfigUpdater methods
Active
.
But still... core expects everything under content to be formatter plugins.
See above (export displays with extra fields and run config_inspector).
On saving displays, you should see the error from datetime_range, if the module is enabled.
TBD/TODO...
?
N/A
N/A
N/A
Active
3.0
Code