Di Drupal 8, apakah ada cara untuk mengetahui tema apa yang saat ini Anda gunakan dalam sebuah modul? Saya perlu mendapatkan nama secara program dalam kode modul.
8
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()
getName()
. Jadi untuk mendapatkan nama tema yang akan digunakan\Drupal::service('theme.manager')->getActiveTheme()->getName();
Ini akan melakukannya:
Anda selalu dapat menggunakan drush untuk menjelajahi konfigurasi yang tersedia:
dan
memberi saya daftar:
dan kemudian saya bisa memeriksa dengan yang berikut:
dan
untuk akhirnya mengetahui bahwa ia memiliki
default
properti yang Anda minta.sumber
getActiveTheme()
fungsinya akan kembali persis sama:$this->configFactory->get('system.theme')->get('default')
administration theme
memasukkan nama tema aktif aktual, gunakan Gunakan:theme used in front
tidakadmistartion theme
Gunakan:sumber
Saya temukan melalui cara di bawah ini di Drupal 8
sumber