Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

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.

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal