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 default
ne 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 theme
dahil etmek istiyorsanız Kullanın:
$activeThemeName = \Drupal::service('theme.manager')->getActiveTheme();
theme used in front
değil
admistartion theme
kullanımı:
$defaultThemeName = \Drupal::config('system.theme')->get('default');
getName()
. Kullanılacak tema adını almak için\Drupal::service('theme.manager')->getActiveTheme()->getName();