ThemeInitializationInterface.php

Same filename and directory in other branches
  1. 9 core/lib/Drupal/Core/Theme/ThemeInitializationInterface.php
  2. 8.9.x core/lib/Drupal/Core/Theme/ThemeInitializationInterface.php
  3. 10 core/lib/Drupal/Core/Theme/ThemeInitializationInterface.php

Namespace

Drupal\Core\Theme

File

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.