protected function ThemeInitialization::prepareStylesheetsRemove in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Theme/ThemeInitialization.php \Drupal\Core\Theme\ThemeInitialization::prepareStylesheetsRemove()
Prepares stylesheets-remove specified in the *.info.yml file.
This method is used as a BC layer to access the contents of the deprecated stylesheets-remove key in theme info.yml files. It will be removed once it is no longer needed in Drupal 10.
@todo Remove in Drupal 10.0.x.
@internal
Parameters
\Drupal\Core\Extension\Extension $theme: The theme extension object.
\Drupal\Core\Extension\Extension[] $base_themes: An array of base themes.
Return value
string[] The list of stylesheets-remove specified in the *.info.yml file.
1 call to ThemeInitialization::prepareStylesheetsRemove()
- ThemeInitialization::getActiveTheme in core/
lib/ Drupal/ Core/ Theme/ ThemeInitialization.php - Builds up the active theme object from extensions.
File
- core/
lib/ Drupal/ Core/ Theme/ ThemeInitialization.php, line 331
Class
- ThemeInitialization
- Provides the theme initialization logic.
Namespace
Drupal\Core\ThemeCode
protected function prepareStylesheetsRemove(Extension $theme, $base_themes) {
// Prepare stylesheets from this theme as well as all ancestor themes.
// We work it this way so that we can have child themes remove CSS files
// easily from parent.
$stylesheets_remove = [];
// Grab stylesheets from base theme.
foreach ($base_themes as $base) {
if (!empty($base->info['stylesheets-remove'])) {
@trigger_error('The theme info key stylesheets-remove implemented by theme ' . $base
->getName() . ' is deprecated in drupal:8.0.0 and is removed from drupal:10.0.0. See https://www.drupal.org/node/2497313', E_USER_DEPRECATED);
foreach ($base->info['stylesheets-remove'] as $css_file) {
$css_file = $this
->resolveStyleSheetPlaceholders($css_file);
$stylesheets_remove[$css_file] = $css_file;
}
}
}
// Add stylesheets used by this theme.
if (!empty($theme->info['stylesheets-remove'])) {
@trigger_error('The theme info key stylesheets-remove implemented by theme ' . $theme
->getName() . ' is deprecated in drupal:8.0.0 and is removed from drupal:10.0.0. See https://www.drupal.org/node/2497313', E_USER_DEPRECATED);
foreach ($theme->info['stylesheets-remove'] as $css_file) {
$css_file = $this
->resolveStyleSheetPlaceholders($css_file);
$stylesheets_remove[$css_file] = $css_file;
}
}
return $stylesheets_remove;
}