public function BootstrapLayoutsBase::setConfiguration in Bootstrap Layouts 8.5
Sets the configuration for this plugin instance.
Parameters
array $configuration: An associative array containing the plugin's configuration.
Overrides LayoutDefault::setConfiguration
File
- src/
Plugin/ Layout/ BootstrapLayoutsBase.php, line 204
Class
- BootstrapLayoutsBase
- Layout class for all bootstrap layouts.
Namespace
Drupal\bootstrap_layouts\Plugin\LayoutCode
public function setConfiguration(array $configuration) {
// Don't use NestedArray::mergeDeep here since this will merge both the
// default classes and the classes stored in config.
$default = $this
->defaultConfiguration();
// Ensure top level properties exist.
$configuration += $default;
// Ensure specific top level sub-properties exists.
$configuration['layout'] += $default['layout'];
$configuration['regions'] += $default['regions'];
// Remove any region configuration that doesn't apply to current layout.
$regions = $this
->getPluginDefinition()
->getRegions();
foreach (array_keys($configuration['regions']) as $region) {
if (!isset($regions[$region])) {
unset($configuration['regions'][$region]);
}
}
$this->configuration = $configuration;
}