interface ThemeInitializationInterface

Same name in other branches
  1. 9 core/lib/Drupal/Core/Theme/ThemeInitializationInterface.php \Drupal\Core\Theme\ThemeInitializationInterface
  2. 8.9.x core/lib/Drupal/Core/Theme/ThemeInitializationInterface.php \Drupal\Core\Theme\ThemeInitializationInterface
  3. 11.x core/lib/Drupal/Core/Theme/ThemeInitializationInterface.php \Drupal\Core\Theme\ThemeInitializationInterface

Defines an interface which contain theme initialization logic.

Hierarchy

Expanded class hierarchy of ThemeInitializationInterface

All classes that implement ThemeInitializationInterface

1 file declares its use of ThemeInitializationInterface
AssetControllerBase.php in core/modules/system/src/Controller/AssetControllerBase.php

File

core/lib/Drupal/Core/Theme/ThemeInitializationInterface.php, line 10

Namespace

Drupal\Core\Theme
View source
interface ThemeInitializationInterface {
    
    /**
     * Initializes a given theme.
     *
     * This loads the active theme, for example include its engine file.
     *
     * @param string $theme_name
     *   The machine name of the theme.
     *
     * @return \Drupal\Core\Theme\ActiveTheme
     *   An active theme object instance for the given theme.
     */
    public function initTheme($theme_name);
    
    /**
     * Builds an active theme object.
     *
     * @param string $theme_name
     *   The machine name of the theme.
     *
     * @return \Drupal\Core\Theme\ActiveTheme
     *   An active theme object instance for the given theme.
     *
     * @throws \Drupal\Core\Theme\MissingThemeDependencyException
     *   Thrown when base theme for installed theme is not installed.
     */
    public function getActiveThemeByName($theme_name);
    
    /**
     * 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.
     *
     * @param \Drupal\Core\Theme\ActiveTheme $active_theme
     *   The theme to load.
     */
    public function loadActiveTheme(ActiveTheme $active_theme);
    
    /**
     * Builds up the active theme object from extensions.
     *
     * @param \Drupal\Core\Extension\Extension $theme
     *   The theme extension object.
     * @param \Drupal\Core\Extension\Extension[] $base_themes
     *   An array of extension objects of base theme and its bases. It is ordered
     *   by 'next parent first', meaning the top level of the chain will be first.
     *
     * @return \Drupal\Core\Theme\ActiveTheme
     *   The active theme instance for the passed in $theme.
     */
    public function getActiveTheme(Extension $theme, array $base_themes = []);

}

Members

Title Sort descending Modifiers Object type Summary
ThemeInitializationInterface::getActiveTheme public function Builds up the active theme object from extensions.
ThemeInitializationInterface::getActiveThemeByName public function Builds an active theme object.
ThemeInitializationInterface::initTheme public function Initializes a given theme.
ThemeInitializationInterface::loadActiveTheme public function Loads a theme, so it is ready to be used.

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