public function ThemeHandler::addTheme in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Extension/ThemeHandler.php \Drupal\Core\Extension\ThemeHandler::addTheme()
- 9 core/lib/Drupal/Core/Extension/ThemeHandler.php \Drupal\Core\Extension\ThemeHandler::addTheme()
Adds a theme extension to the internal listing.
Parameters
\Drupal\Core\Extension\Extension $theme: The theme extension.
Overrides ThemeHandlerInterface::addTheme
File
- core/
lib/ Drupal/ Core/ Extension/ ThemeHandler.php, line 82
Class
- ThemeHandler
- Default theme handler using the config system to store installation statuses.
Namespace
Drupal\Core\ExtensionCode
public function addTheme(Extension $theme) {
// Register the namespaces of installed themes.
// @todo Implement proper theme registration
// https://www.drupal.org/project/drupal/issues/2941757
\Drupal::service('class_loader')
->addPsr4('Drupal\\' . $theme
->getName() . '\\', $this->root . '/' . $theme
->getPath() . '/src');
if (!empty($theme->info['libraries'])) {
foreach ($theme->info['libraries'] as $library => $name) {
$theme->libraries[$library] = $name;
}
}
if (isset($theme->info['engine'])) {
$theme->engine = $theme->info['engine'];
}
if (isset($theme->info['base theme'])) {
$theme->base_theme = $theme->info['base theme'];
}
$this->list[$theme
->getName()] = $theme;
}