En Drupal 8, ¿hay alguna forma de averiguar qué tema está utilizando actualmente en un módulo? Necesito obtener el nombre mediante programación dentro del código de un módulo.
8
Usar el administrador de temas es la forma correcta de Drupal 8 de obtener información sobre su tema.
\Drupal::service('theme.manager')->getActiveTheme()
Una regla general en drupal 8 es buscar el servicio de administrador (/ controlador).
** Nota: como señaló Neograph734 , \Drupal::service('theme.manager')->getActiveTheme()
devolverá el objeto de tema activo . Si desea obtener el nombre de la máquina del tema, use\Drupal::service('theme.manager')->getActiveTheme()->getName()
getName()
. Entonces, para obtener el nombre del tema, uno usaría\Drupal::service('theme.manager')->getActiveTheme()->getName();
Esto lo hará:
Siempre puedes usar drush para explorar tus configuraciones disponibles:
y
me dio una lista:
y luego pude verificar con lo siguiente:
y
para finalmente descubrir que tiene una
default
propiedad que fue lo que solicitó.fuente
getActiveTheme()
función terminará devolviendo exactamente lo mismo:$this->configFactory->get('system.theme')->get('default')
administration theme
incluido Use:theme used in front
noadmistartion theme
Uso:fuente
Encontré a continuación en Drupal 8
fuente