W3cubDocs

/Drupal 8

public function ThemeHandler::hasUi

public ThemeHandler::hasUi($name)

Determines if a theme should be shown in the user interface.

To be shown in the UI the theme has to be installed. If the theme is hidden it will not be shown unless it is the default or admin theme.

Parameters

string $name: The name of the theme to check.

Return value

bool TRUE if the theme should be shown in the UI, FALSE if not.

Overrides ThemeHandlerInterface::hasUi

File

core/lib/Drupal/Core/Extension/ThemeHandler.php, line 487

Class

ThemeHandler
Default theme handler using the config system to store installation statuses.

Namespace

Drupal\Core\Extension

Code

public function hasUi($name) {
  $themes = $this->listInfo();
  if (isset($themes[$name])) {
    if (!empty($themes[$name]->info['hidden'])) {
      $theme_config = $this->configFactory->get('system.theme');
      return $name == $theme_config->get('default') || $name == $theme_config->get('admin');
    }
    return TRUE;
  }
  return FALSE;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Extension!ThemeHandler.php/function/ThemeHandler::hasUi/8.1.x