diff --git a/core/lib/Drupal/Core/Extension/ThemeExtensionList.php b/core/lib/Drupal/Core/Extension/ThemeExtensionList.php index 32b9cee950..41ae9310bf 100644 --- a/core/lib/Drupal/Core/Extension/ThemeExtensionList.php +++ b/core/lib/Drupal/Core/Extension/ThemeExtensionList.php @@ -266,7 +266,7 @@ protected function createExtensionInfo(Extension $extension) { $info = parent::createExtensionInfo($extension); if (!isset($info['base theme'])) { - throw new InfoParserException('Missing required key ("base theme") in ' . $extension->getExtensionPathname() . '/' . $extension->getExtensionFilename()); + throw new InfoParserException(sprintf('Missing required key ("base theme") in %s/%s, see https://www.drupal.org/node/3066038', $extension->getExtensionPathname(), $extension->getExtensionFilename())); } // Remove the base theme when 'base theme: false' is set in a theme diff --git a/core/tests/Drupal/KernelTests/Core/Theme/BaseThemeMissingTest.php b/core/tests/Drupal/KernelTests/Core/Theme/BaseThemeMissingTest.php index 18ee20d15d..9801f8b4e7 100644 --- a/core/tests/Drupal/KernelTests/Core/Theme/BaseThemeMissingTest.php +++ b/core/tests/Drupal/KernelTests/Core/Theme/BaseThemeMissingTest.php @@ -75,7 +75,7 @@ public function testMissingBaseThemeException() { ->setInfoParser(new VfsInfoParser('vfs:/')); $this->expectException(InfoParserException::class); - $this->expectExceptionMessage('Missing required key ("base theme") in themes/test_missing_base_theme/test_missing_base_theme.theme/test_missing_base_theme.theme'); + $this->expectExceptionMessage('Missing required key ("base theme") in themes/test_missing_base_theme/test_missing_base_theme.theme/test_missing_base_theme.theme, see https://www.drupal.org/node/3066038'); $this->themeInstaller->install(['test_missing_base_theme']); }