No Drupal 8, existe uma maneira de descobrir qual tema você está usando atualmente em um módulo? Preciso obter o nome programaticamente no código de um módulo.
8
Usar o gerenciador de temas é a maneira correta do Drupal 8 de obter informações sobre o seu tema.
\Drupal::service('theme.manager')->getActiveTheme()
Uma regra geral no drupal 8 é procurar o serviço de gerente (/ manipulador).
** Nota: como Neograph734 apontou, \Drupal::service('theme.manager')->getActiveTheme()
retornará o objeto de tema ativo . Se você deseja obter o tema nome da máquina, use\Drupal::service('theme.manager')->getActiveTheme()->getName()
getName()
. Assim, para obter o nome do tema pode-se usar\Drupal::service('theme.manager')->getActiveTheme()->getName();
Isso fará isso:
Você sempre pode usar drush para explorar suas configurações disponíveis:
e
me deu uma lista:
e depois pude verificar com o seguinte:
e
para finalmente descobrir que ele possui uma
default
propriedade que foi o que você pediu.fonte
getActiveTheme()
função irá acabar voltando exatamente o mesmo:$this->configFactory->get('system.theme')->get('default')
administration theme
incluir o nome do tema ativo real, use:theme used in front
não sejaadmistartion theme
Use:fonte
Encontrei via Drupal 8 abaixo
fonte