Yanıtlar:
Tema yöneticisini kullanmak, temanız hakkında bilgi almanın uygun Drupal 8 yoludur.
\Drupal::service('theme.manager')->getActiveTheme()
Drupal 8'deki genel kural, yönetici (/ işleyici) hizmetini aramaktır.
** Not: Neograph734'ün işaret ettiği gibi \Drupal::service('theme.manager')->getActiveTheme(), aktif tema nesnesini döndürecektir . Tema makine adını almak istiyorsanız\Drupal::service('theme.manager')->getActiveTheme()->getName()
Bunu yapacak:
$config = \Drupal::config('system.theme');
print $config->get('default');
Mevcut yapılandırmalarınızı keşfetmek için her zaman drush'ı kullanabilirsiniz:
drush config-list
ve
drush config-list system
bana bir liste verdi:
...
system.rss
system.site
system.theme.global
system.theme
...
ve sonra aşağıdakileri kontrol edebilirim:
drush cget system.theme.global
ve
drush cget system.theme
Sonunda defaultne istediğini bir özellik olduğunu öğrenmek için.
getActiveTheme()işlev tamamen aynı şekilde geri dönecektir: $this->configFactory->get('system.theme')->get('default')
administration themedahil etmek istiyorsanız Kullanın:
$activeThemeName = \Drupal::service('theme.manager')->getActiveTheme();
theme used in frontdeğil
admistartion themekullanımı:
$defaultThemeName = \Drupal::config('system.theme')->get('default');
getName(). Kullanılacak tema adını almak için\Drupal::service('theme.manager')->getActiveTheme()->getName();