You are here

protected function ThemeManager::initTheme in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Theme/ThemeManager.php \Drupal\Core\Theme\ThemeManager::initTheme()
  2. 9 core/lib/Drupal/Core/Theme/ThemeManager.php \Drupal\Core\Theme\ThemeManager::initTheme()

Initializes the active theme for a given route match.

Parameters

\Drupal\Core\Routing\RouteMatchInterface $route_match: The current route match.

File

core/lib/Drupal/Core/Theme/ThemeManager.php, line 382

Class

ThemeManager
Provides the default implementation of a theme manager.

Namespace

Drupal\Core\Theme

Code

protected function initTheme(RouteMatchInterface $route_match = NULL) {

  // Determine the active theme for the theme negotiator service. This includes
  // the default theme as well as really specific ones like the ajax base theme.
  if (!$route_match) {
    $route_match = \Drupal::routeMatch();
  }
  if ($route_match instanceof StackedRouteMatchInterface) {
    $route_match = $route_match
      ->getMasterRouteMatch();
  }
  $theme = $this->themeNegotiator
    ->determineActiveTheme($route_match);
  $this->activeTheme = $this->themeInitialization
    ->initTheme($theme);
}