Gibt es in Drupal 8 eine Möglichkeit, herauszufinden, welches Thema Sie derzeit in einem Modul verwenden? Ich muss den Namen programmgesteuert im Code eines Moduls finden.
8
Die Verwendung des Themenmanagers ist die richtige Drupal 8-Methode, um Informationen zu Ihrem Thema abzurufen.
\Drupal::service('theme.manager')->getActiveTheme()
Eine allgemeine Regel in Drupal 8 ist die Suche nach dem Manager (/ Handler) -Dienst.
** Hinweis: Wie Neograph734 hervorhob , \Drupal::service('theme.manager')->getActiveTheme()
wird das aktive Designobjekt zurückgegeben . Wenn Sie den Maschinennamen des Themas erhalten möchten, verwenden Sie\Drupal::service('theme.manager')->getActiveTheme()->getName()
getName()
. Um den Namen des Themas zu erhalten, würde man verwenden\Drupal::service('theme.manager')->getActiveTheme()->getName();
Dies wird es tun:
Sie können jederzeit Drush verwenden, um Ihre verfügbaren Konfigurationen zu erkunden:
und
gab mir eine Liste:
und dann könnte ich mit folgendem prüfen:
und
um endlich herauszufinden, dass es eine
default
Immobilie enthält, nach der Sie gefragt haben.quelle
getActiveTheme()
Funktion am Ende genau das gleiche zurückgeben:$this->configFactory->get('system.theme')->get('default')
administration theme
Sie:theme used in front
nichtadmistartion theme
verwendet wird:quelle
Ich fand über unten in Drupal 8
quelle