diff --git a/core/includes/theme.inc b/core/includes/theme.inc index 68b10b3e42..a8591ca989 100644 --- a/core/includes/theme.inc +++ b/core/includes/theme.inc @@ -1322,6 +1322,12 @@ function template_preprocess_html(&$variables) { } } + // Early in the installer the site name is unknown. In this case we need to + // fallback to the distribution's name. + if (empty($head_title['name']) && drupal_installation_attempted() && function_exists('drupal_install_profile_distribution_name')) { + $head_title['name'] = drupal_install_profile_distribution_name(); + } + $variables['head_title'] = $head_title; // @deprecated in Drupal 8.0.0, will be removed before Drupal 9.0.0. $variables['head_title_array'] = $head_title; diff --git a/core/modules/system/config/install/system.site.yml b/core/modules/system/config/install/system.site.yml index b5a932b6cb..d1ab8de7c6 100644 --- a/core/modules/system/config/install/system.site.yml +++ b/core/modules/system/config/install/system.site.yml @@ -1,5 +1,5 @@ uuid: '' -name: 'Drupal' +name: '' mail: '' slogan: '' page: diff --git a/core/modules/system/src/Tests/Installer/DistributionProfileTest.php b/core/modules/system/src/Tests/Installer/DistributionProfileTest.php index e52b0469bb..3d2c4c44ab 100644 --- a/core/modules/system/src/Tests/Installer/DistributionProfileTest.php +++ b/core/modules/system/src/Tests/Installer/DistributionProfileTest.php @@ -46,6 +46,8 @@ protected function setUp() { protected function setUpLanguage() { // Verify that the distribution name appears. $this->assertRaw($this->info['distribution']['name']); + // Verify that the distribution name is used in the site title. + $this->assertTitle('Choose language | ' . $this->info['distribution']['name']); // Verify that the requested theme is used. $this->assertRaw($this->info['distribution']['install']['theme']); // Verify that the "Choose profile" step does not appear. diff --git a/core/modules/system/src/Tests/Installer/InstallerTranslationMultipleLanguageTest.php b/core/modules/system/src/Tests/Installer/InstallerTranslationMultipleLanguageTest.php index a608cada77..dcde753d76 100644 --- a/core/modules/system/src/Tests/Installer/InstallerTranslationMultipleLanguageTest.php +++ b/core/modules/system/src/Tests/Installer/InstallerTranslationMultipleLanguageTest.php @@ -51,13 +51,29 @@ protected function getPo($langcode) { msgid "Language" msgstr "Language $langcode" + +#: Testing site name configuration during the installer. +msgid "Drupal" +msgstr "Drupal" ENDPO; } + /** + * {@inheritdoc} + */ + protected function installParameters() { + $params = parent::installParameters(); + $params['forms']['install_configure_form']['site_name'] = 'SITE_NAME_' . $this->langcode; + return $params; + } + /** * Tests that translations ended up at the expected places. */ public function testTranslationsLoaded() { + // Ensure the title is correct. + $this->assertEqual('SITE_NAME_' . $this->langcode, \Drupal::config('system.site')->get('name')); + // Verify German and Spanish were configured. $this->drupalGet('admin/config/regional/language'); $this->assertText('German');