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
defaultpropiedad que fue lo que solicitó.fuente
getActiveTheme()función terminará devolviendo exactamente lo mismo:$this->configFactory->get('system.theme')->get('default')administration themeincluido Use:theme used in frontnoadmistartion themeUso:fuente
Encontré a continuación en Drupal 8
fuente