function theme_settings_convert_to_config in Drupal 10
Same name and namespace in other branches
- 8 core/includes/theme.inc \theme_settings_convert_to_config()
- 9 core/includes/theme.inc \theme_settings_convert_to_config()
Converts theme settings to configuration.
Parameters
array $theme_settings: An array of theme settings from system setting form or a Drupal 7 variable.
\Drupal\Core\Config\Config $config: The configuration object to update.
Return value
The Config object with updated data.
See also
system_theme_settings_submit()
3 calls to theme_settings_convert_to_config()
- ThemeSettings::import in core/
modules/ system/ src/ Plugin/ migrate/ destination/ d7/ ThemeSettings.php - Import the row.
- ThemeSettingsForm::submitForm in core/
modules/ system/ src/ Form/ ThemeSettingsForm.php - Form submission handler.
- ThemeSettingsTest::testLogoConfig in core/
tests/ Drupal/ KernelTests/ Core/ Theme/ ThemeSettingsTest.php - Tests that the default logo config can be overridden.
File
- core/
includes/ theme.inc, line 420 - The theme system, which controls the output of Drupal.
Code
function theme_settings_convert_to_config(array $theme_settings, Config $config) {
foreach ($theme_settings as $key => $value) {
if ($key == 'default_logo') {
$config
->set('logo.use_default', $value);
}
elseif ($key == 'logo_path') {
$config
->set('logo.path', $value);
}
elseif ($key == 'default_favicon') {
$config
->set('favicon.use_default', $value);
}
elseif ($key == 'favicon_path') {
$config
->set('favicon.path', $value);
}
elseif ($key == 'favicon_mimetype') {
$config
->set('favicon.mimetype', $value);
}
elseif (substr($key, 0, 7) == 'toggle_') {
$config
->set('features.' . mb_substr($key, 7), $value);
}
elseif (!in_array($key, [
'theme',
'logo_upload',
])) {
$config
->set($key, $value);
}
}
return $config;
}