function FormatterPluginManager::prepareConfiguration

Same name in other branches
  1. 8.9.x core/lib/Drupal/Core/Field/FormatterPluginManager.php \Drupal\Core\Field\FormatterPluginManager::prepareConfiguration()
  2. 10 core/lib/Drupal/Core/Field/FormatterPluginManager.php \Drupal\Core\Field\FormatterPluginManager::prepareConfiguration()
  3. 11.x 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\Field

Code

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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.