function ThemeHandler::addTheme

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Extension/ThemeHandler.php \Drupal\Core\Extension\ThemeHandler::addTheme()
  2. 10 core/lib/Drupal/Core/Extension/ThemeHandler.php \Drupal\Core\Extension\ThemeHandler::addTheme()
  3. 9 core/lib/Drupal/Core/Extension/ThemeHandler.php \Drupal\Core\Extension\ThemeHandler::addTheme()
  4. 8.9.x 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

1 call to ThemeHandler::addTheme()
ThemeHandler::listInfo in core/lib/Drupal/Core/Extension/ThemeHandler.php
Returns a list of currently installed themes.

File

core/lib/Drupal/Core/Extension/ThemeHandler.php, line 91

Class

ThemeHandler
Default theme handler using the config system to store installation statuses.

Namespace

Drupal\Core\Extension

Code

public function addTheme(Extension $theme) {
  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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.