public function ConfigInstaller::installCollectionDefaultConfig in Drupal 9
Same name in this branch
- 9 core/lib/Drupal/Core/Config/ConfigInstaller.php \Drupal\Core\Config\ConfigInstaller::installCollectionDefaultConfig()
- 9 core/lib/Drupal/Core/ProxyClass/Config/ConfigInstaller.php \Drupal\Core\ProxyClass\Config\ConfigInstaller::installCollectionDefaultConfig()
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Config/ConfigInstaller.php \Drupal\Core\Config\ConfigInstaller::installCollectionDefaultConfig()
Installs all default configuration in the specified collection.
The function is useful if the site needs to respond to an event that has just created another collection and we need to check all the installed extensions for any matching configuration. For example, if a language has just been created.
Parameters
string $collection: The configuration collection.
Overrides ConfigInstallerInterface::installCollectionDefaultConfig
File
- core/
lib/ Drupal/ Core/ Config/ ConfigInstaller.php, line 403
Class
Namespace
Drupal\Core\ConfigCode
public function installCollectionDefaultConfig($collection) {
$storage = new ExtensionInstallStorage($this
->getActiveStorages(StorageInterface::DEFAULT_COLLECTION), InstallStorage::CONFIG_INSTALL_DIRECTORY, $collection, InstallerKernel::installationAttempted(), $this->installProfile);
// Only install configuration for enabled extensions.
$enabled_extensions = $this
->getEnabledExtensions();
$config_to_install = array_filter($storage
->listAll(), function ($config_name) use ($enabled_extensions) {
$provider = mb_substr($config_name, 0, strpos($config_name, '.'));
return in_array($provider, $enabled_extensions);
});
if (!empty($config_to_install)) {
$this
->createConfiguration($collection, $storage
->readMultiple($config_to_install));
// Reset all the static caches and list caches.
$this->configFactory
->reset();
}
}