Czy w Drupal 8 jest sposób, aby dowiedzieć się, jakiego motywu używasz obecnie w module? Muszę uzyskać nazwę programowo w kodzie modułu.
8
Korzystanie z menedżera motywów to właściwy sposób uzyskiwania informacji o motywie przez Drupal 8.
\Drupal::service('theme.manager')->getActiveTheme()
Ogólną regułą w drupal 8 jest poszukiwanie usługi manager (/ handler).
** Uwaga: jak wskazał Neograph734 , \Drupal::service('theme.manager')->getActiveTheme()
zwróci aktywny obiekt motywu . Jeśli chcesz uzyskać nazwę maszyny-motywu, użyj\Drupal::service('theme.manager')->getActiveTheme()->getName()
getName()
. Aby uzyskać nazwę motywu, należy użyć\Drupal::service('theme.manager')->getActiveTheme()->getName();
To zrobi to:
Zawsze możesz użyć drush do eksploracji dostępnych konfiguracji:
i
dał mi listę:
a następnie mogłem sprawdzić za pomocą:
i
aby w końcu dowiedzieć się, że posiada
default
właściwość, o którą prosiłeś.źródło
getActiveTheme()
funkcja zwróci dokładnie to samo:$this->configFactory->get('system.theme')->get('default')
administration theme
Użyj:theme used in front
nie byładmistartion theme
używany:źródło