Jawaban:
Menggunakan theme manager adalah cara Drupal 8 yang tepat untuk mendapatkan informasi tentang tema Anda.
\Drupal::service('theme.manager')->getActiveTheme()
Aturan umum dalam drupal 8 adalah mencari layanan manajer (/ penangan).
** Catatan: seperti yang ditunjukkan Neograph734 , \Drupal::service('theme.manager')->getActiveTheme()
akan mengembalikan objek tema yang aktif . Jika Anda ingin mendapatkan nama mesin tema lalu gunakan\Drupal::service('theme.manager')->getActiveTheme()->getName()
Ini akan melakukannya:
$config = \Drupal::config('system.theme');
print $config->get('default');
Anda selalu dapat menggunakan drush untuk menjelajahi konfigurasi yang tersedia:
drush config-list
dan
drush config-list system
memberi saya daftar:
...
system.rss
system.site
system.theme.global
system.theme
...
dan kemudian saya bisa memeriksa dengan yang berikut:
drush cget system.theme.global
dan
drush cget system.theme
untuk akhirnya mengetahui bahwa ia memiliki default
properti yang Anda minta.
getActiveTheme()
fungsinya akan kembali persis sama: $this->configFactory->get('system.theme')->get('default')
administration theme
memasukkan nama tema aktif aktual, gunakan Gunakan:
$activeThemeName = \Drupal::service('theme.manager')->getActiveTheme();
theme used in front
tidak
admistartion theme
Gunakan:
$defaultThemeName = \Drupal::config('system.theme')->get('default');
Saya temukan melalui cara di bawah ini di Drupal 8
$theme = \Drupal::theme()->getActiveTheme();
getName()
. Jadi untuk mendapatkan nama tema yang akan digunakan\Drupal::service('theme.manager')->getActiveTheme()->getName();