diff --git a/core/modules/system/system.install b/core/modules/system/system.install index 53bde58..4031a77 100644 --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -1940,7 +1940,8 @@ function system_update_8401() { // Set the values for all currently installed themes. $theme_handler = \Drupal::service('theme_handler'); - foreach ($theme_handler->listInfo() as $theme) { + $installed_themes = $theme_handler->listInfo(); + foreach ($installed_themes as $theme) { $theme_settings = \Drupal::configFactory()->getEditable($theme->getName() . '.settings'); if (!$theme_settings->isNew()) { $theme_settings @@ -1950,22 +1951,29 @@ function system_update_8401() { } } - // Iterate through all the languages site has enabled, and create a - // configuration translation for each language. + // Iterate through all the languages site has enabled, and update the + // configuration translation override for each language. $language_manager = \Drupal::languageManager(); if ($language_manager->isMultilingual()) { $languages = $language_manager->getLanguages(); foreach ($languages as $langcode => $language) { $configOverrideStorage = $language_manager->getLanguageConfigOverrideStorage($langcode); $value_to_save = t('Home', [], ['langcode' => $langcode]); + // Update the override for global theme settings. if ($configOverrideStorage->exists('system.theme.global')) { $configOverride = $language_manager->getLanguageConfigOverride($langcode, 'system.theme.global'); $configOverride->set('logo.alt', $value_to_save) ->set('logo.title', $value_to_save) ->save(); } - else { - $configOverrideStorage->write('system.theme.global', ['logo' => ['alt' => $value_to_save, 'title' => $value_to_save]]); + // Update the override for each installed theme settings. + foreach ($installed_themes as $theme) { + if ($configOverrideStorage->exists($theme->getName() . '.settings')) { + $configOverride = $language_manager->getLanguageConfigOverride($langcode, $theme->getName() . '.settings'); + $configOverride->set('logo.alt', $value_to_save) + ->set('logo.title', $value_to_save) + ->save(); + } } } }