class ThemeInfo in AT Tools 8
Same name and namespace in other branches
- 8.3 at_theme_generator/src/Theme/ThemeInfo.php \Drupal\at_theme_generator\Theme\ThemeInfo
- 8.2 at_theme_generator/src/Theme/ThemeInfo.php \Drupal\at_theme_generator\Theme\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.
Hierarchy
- class \Drupal\at_theme_generator\Theme\ThemeInfo
Expanded class hierarchy of ThemeInfo
1 file declares its use of ThemeInfo
- GenerateForm.php in at_theme_generator/
src/ Form/ GenerateForm.php - Generator form.
File
- at_theme_generator/
src/ Theme/ ThemeInfo.php, line 16 - Contains \Drupal\at_theme_generator\Theme\ThemeInfo.
Namespace
Drupal\at_theme_generator\ThemeView source
class ThemeInfo {
/**
* Constructs a theme info object.
*/
public function __construct() {
$this->data = \Drupal::service('theme_handler')
->rebuildThemeData();
}
/**
* 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.
*
* @return array
*/
public function baseThemeOptions() {
$base_themes = array();
foreach ($this->data as $machine_name => $info) {
foreach ($info as $info_key => $info_values) {
if ($info_key == 'base_themes') {
foreach ($info_values as $value_key => $value_values) {
if ($value_key == 'at_core') {
$base_themes[$machine_name] = $machine_name;
}
}
}
}
}
// These are just generator "templates, not to be used directly.
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']);
return $base_themes;
}
/**
* Check if a theme name already exists.
* Looks in the list of themes to see if a theme name already exists, if so
* returns TRUE. This is the callback method for the form field machine_name
* as used in theme-settings.php for the theme Generator.
*
* @param $machine_name
* @return boolean
*/
public function themeNameExists($machine_name) {
$result = FALSE;
if (array_key_exists($machine_name, $this->data)) {
$result = TRUE;
}
return $result;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ThemeInfo:: |
public | function | 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. | |
ThemeInfo:: |
public | function | Check if a theme name already exists. Looks in the list of themes to see if a theme name already exists, if so returns TRUE. This is the callback method for the form field machine_name as used in theme-settings.php for the theme Generator. | |
ThemeInfo:: |
public | function | Constructs a theme info object. |