function ThemeInitialization::loadActiveTheme
Loads a theme, so it is ready to be used.
Loading a theme includes loading and initializing the engine, each base theme and its engines.
Parameters
\Drupal\Core\Theme\ActiveTheme $active_theme: The theme to load.
Overrides ThemeInitializationInterface::loadActiveTheme
1 call to ThemeInitialization::loadActiveTheme()
- ThemeInitialization::initTheme in core/
lib/ Drupal/ Core/ Theme/ ThemeInitialization.php  - Initializes a given theme.
 
File
- 
              core/
lib/ Drupal/ Core/ Theme/ ThemeInitialization.php, line 129  
Class
- ThemeInitialization
 - Provides the theme initialization logic.
 
Namespace
Drupal\Core\ThemeCode
public function loadActiveTheme(ActiveTheme $active_theme) {
  // Initialize the theme.
  if ($active_theme->getEngine()) {
    // Include the engine.
    include_once $this->root . '/' . $active_theme->getOwner();
    foreach (array_reverse($active_theme->getBaseThemeExtensions()) as $base) {
      $base->load();
    }
    $active_theme->getExtension()
      ->load();
  }
  else {
    // Include non-engine theme files
    foreach (array_reverse($active_theme->getBaseThemeExtensions()) as $base) {
      // Include the theme file or the engine.
      if ($base->owner) {
        include_once $this->root . '/' . $base->owner;
      }
    }
    // And our theme gets one too.
    if ($active_theme->getOwner()) {
      include_once $this->root . '/' . $active_theme->getOwner();
    }
  }
  // Always include Twig as the default theme engine.
  include_once $this->root . '/core/themes/engines/twig/twig.engine';
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.