Theme API к сожалению не даёт прямого метода, чтобы прочитать это значение. Как его получить?
Иногда программно нужно установить, что именно видит пользователь на фронт-енд (какую тему использует движок).
Необходимость возникает из-за того, что drupal, исходя из контекста, может активировать различные темы оформления, доступные сайту.
Страницы админки могут быть показаны в одной теме, страницы сайта — в другой. Разные темы могут быть задействованы также в зависимости от настроек в профиле пользователя. Все ситуации сложно перечислить, рассмотрим хотя бы некоторую часть.
Значение выбранной по умолчанию темы сохраняется в переменной theme_default. Ее не сложно прочитать:
Это значение может быть переопределено в файле конфигурации, поэтому лучше читать его из глобальной переменной $conf:
Следующая возможная зацепка — это тема, установленная в профиле пользователя:
Есть в API специальная зацепка hook_custom_theme, позволяющая программно установить значение текущей темы:
Тогда следует проверить глобальную переменную custom_theme:
Ну и наконец проверка значения глобальной переменной theme:
Как видите, сложно не запутаться в том, какая должна быть последовательность проверки. Потому сведем весь получивший код в один блок.
Что учитывать в вашем проекте — выбирать вам.