public ThemeInitialization::loadActiveTheme(ActiveTheme $active_theme)
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
File
- core/lib/Drupal/Core/Theme/ThemeInitialization.php, line 129
Class
- ThemeInitialization
- Provides the theme initialization logic.
Namespace
Drupal\Core\Theme
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | public function loadActiveTheme(ActiveTheme $active_theme ) { // Initialize the theme. if ( $theme_engine = $active_theme ->getEngine()) { // Include the engine. include_once $this ->root . '/' . $active_theme ->getOwner(); if (function_exists( $theme_engine . '_init' )) { foreach ( $active_theme ->getBaseThemes() as $base ) { call_user_func( $theme_engine . '_init' , $base ->getExtension()); } call_user_func( $theme_engine . '_init' , $active_theme ->getExtension()); } } else { // include non-engine theme files foreach ( $active_theme ->getBaseThemes() as $base ) { // Include the theme file or the engine. if ( $base ->getOwner()) { include_once $this ->root . '/' . $base ->getOwner(); } } // 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' ; } |
Please login to continue.