ThemeInitializationInterface.php
Same filename in other branches
Namespace
Drupal\Core\ThemeFile
-
core/
lib/ Drupal/ Core/ Theme/ ThemeInitializationInterface.php
View source
<?php
namespace Drupal\Core\Theme;
use Drupal\Core\Extension\Extension;
/**
* Defines an interface which contain theme initialization logic.
*/
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 = []);
}
Interfaces
Title | Deprecated | Summary |
---|---|---|
ThemeInitializationInterface | Defines an interface which contain theme initialization logic. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.