public function FormatterPluginManager::prepareConfiguration in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Field/FormatterPluginManager.php \Drupal\Core\Field\FormatterPluginManager::prepareConfiguration()
- 9 core/lib/Drupal/Core/Field/FormatterPluginManager.php \Drupal\Core\Field\FormatterPluginManager::prepareConfiguration()
Merges default values for formatter configuration.
Parameters
string $field_type: The field type.
array $configuration: An array of formatter configuration.
Return value
array The display properties with defaults added.
1 call to FormatterPluginManager::prepareConfiguration()
- FormatterPluginManager::getInstance in core/
lib/ Drupal/ Core/ Field/ FormatterPluginManager.php - Overrides PluginManagerBase::getInstance().
File
- core/
lib/ Drupal/ Core/ Field/ FormatterPluginManager.php, line 140
Class
- FormatterPluginManager
- Plugin type manager for field formatters.
Namespace
Drupal\Core\FieldCode
public function prepareConfiguration($field_type, array $configuration) {
// Fill in defaults for missing properties.
$configuration += [
'label' => 'above',
'settings' => [],
'third_party_settings' => [],
];
// If no formatter is specified, use the default formatter.
if (!isset($configuration['type'])) {
$field_type = $this->fieldTypeManager
->getDefinition($field_type);
$configuration['type'] = $field_type['default_formatter'];
}
// Filter out unknown settings, and fill in defaults for missing settings.
$default_settings = $this
->getDefaultSettings($configuration['type']);
$configuration['settings'] = array_intersect_key($configuration['settings'], $default_settings) + $default_settings;
return $configuration;
}