You are here

public function ThemeInfo::themeOptions in AT Tools 8.3

Same name and namespace in other branches
  1. 8.2 at_theme_generator/src/Theme/ThemeInfo.php \Drupal\at_theme_generator\Theme\ThemeInfo::themeOptions()

Return list of base theme options. Looks for all themes with a base theme value of 'at_core' and returns the list. This means you cannot sub-theme a "skin" type sub-theme.

Parameters

$subtheme_type:

Return value

array

File

at_theme_generator/src/Theme/ThemeInfo.php, line 33
Contains \Drupal\at_theme_generator\Theme\ThemeInfo.

Class

ThemeInfo
ThemeSettingsInfo declares methods used to return theme info for use in theme-settings.php. Note the constructor calls system_rebuild_theme_data() which is not statically cached therefor only used in the backend, however it always returns fresh data.

Namespace

Drupal\at_theme_generator\Theme

Code

public function themeOptions($subtheme_type) {
  $base_themes = [];
  foreach ($this->data as $machine_name => $theme) {
    foreach ($theme as $theme_key => $theme_values) {
      if ($theme_key === 'info') {
        if (isset($theme_values['subtheme type']) && $theme_values['subtheme type'] === $subtheme_type) {
          $base_themes[$machine_name] = $machine_name;
        }
      }
    }
  }

  // These are just generator "templates, not to be used directly. BC.
  unset($base_themes['at_standard']);
  unset($base_themes['at_minimal']);
  unset($base_themes['at_skin']);
  unset($base_themes['at_starterkit']);
  unset($base_themes['at_generator']);
  unset($base_themes['THEMENAME']);
  unset($base_themes['STARTERKIT']);
  unset($base_themes['SKIN']);
  return $base_themes;
}