function ThemeHooks::libraryInfoAlter

Same name and namespace in other branches
  1. 11.x core/themes/admin/src/Hook/ThemeHooks.php \Drupal\admin\Hook\ThemeHooks::libraryInfoAlter()

Implements hook_library_info_alter().

Attributes

#[Hook('library_info_alter')]

File

core/themes/admin/src/Hook/ThemeHooks.php, line 133

Class

ThemeHooks
Provides theme related hook implementations.

Namespace

Drupal\admin\Hook

Code

public function libraryInfoAlter(array &$libraries, string $extension) : void {
  if ($extension === 'toolbar') {
    $gin_info = $this->themeHandler
      ->listInfo()['admin']->info;
    $path_prefix = '/core/themes/admin/';
    $gin_toolbar_overrides = $gin_info['libraries-override']['toolbar/toolbar'];
    foreach ($gin_toolbar_overrides['css'] as $concern => $overrides) {
      foreach ($gin_toolbar_overrides['css'][$concern] as $key => $value) {
        $config = $libraries['toolbar']['css'][$concern][$key];
        $libraries['toolbar']['css'][$concern][$path_prefix . $value] = $config;
        unset($libraries['toolbar']['css'][$concern][$key]);
      }
    }
    $gin_toolbar_menu_overrides = $gin_info['libraries-override']['toolbar/toolbar.menu'];
    foreach ($gin_toolbar_menu_overrides['css'] as $concern => $overrides) {
      foreach ($gin_toolbar_menu_overrides['css'][$concern] as $key => $value) {
        $config = $libraries['toolbar.menu']['css'][$concern][$key];
        $libraries['toolbar.menu']['css'][$concern][$path_prefix . $value] = $config;
        unset($libraries['toolbar.menu']['css'][$concern][$key]);
      }
    }
  }
}

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