public function DisplayPluginBase::mergeDefaults in Drupal 8
Same name and namespace in other branches
- 9 core/modules/views/src/Plugin/views/display/DisplayPluginBase.php \Drupal\views\Plugin\views\display\DisplayPluginBase::mergeDefaults()
Merges default values for all plugin types.
Overrides DisplayPluginInterface::mergeDefaults
File
- core/
modules/ views/ src/ Plugin/ views/ display/ DisplayPluginBase.php, line 2672
Class
- DisplayPluginBase
- Base class for views display plugins.
Namespace
Drupal\views\Plugin\views\displayCode
public function mergeDefaults() {
$defined_options = $this
->defineOptions();
// Build a map of plural => singular for handler types.
$type_map = [];
foreach (ViewExecutable::getHandlerTypes() as $type => $info) {
$type_map[$info['plural']] = $type;
}
// Find all defined options, that have specified a merge_defaults callback.
foreach ($defined_options as $type => $definition) {
if (!isset($definition['merge_defaults']) || !is_callable($definition['merge_defaults'])) {
continue;
}
// Switch the type to singular, if it's a plural handler.
if (isset($type_map[$type])) {
$type = $type_map[$type];
}
call_user_func($definition['merge_defaults'], $type);
}
}