Получить имя текущей темы по дефолту в Drupal

Theme API к сожалению не даёт прямого метода, чтобы прочитать это значение. Как его получить?

Иногда программно нужно установить, что именно видит пользователь на фронт-енд (какую тему использует движок).

Необходимость возникает из-за того, что drupal, исходя из контекста, может активировать различные темы оформления, доступные сайту.

Страницы админки могут быть показаны в одной теме, страницы сайта — в другой. Разные темы могут быть задействованы также в зависимости от настроек в профиле пользователя. Все ситуации сложно перечислить, рассмотрим хотя бы некоторую часть.

Значение выбранной по умолчанию темы сохраняется в переменной theme_default. Ее не сложно прочитать:

Это значение может быть переопределено в файле конфигурации, поэтому лучше читать его из глобальной переменной $conf:

Следующая возможная зацепка — это тема, установленная в профиле пользователя:

Есть в API специальная зацепка hook_custom_theme, позволяющая программно установить значение текущей темы:

Тогда следует проверить глобальную переменную custom_theme:

Ну и наконец проверка значения глобальной переменной theme:

Как видите, сложно не запутаться в том, какая должна быть последовательность проверки. Потому сведем весь получивший код в один блок.

Что учитывать в вашем проекте — выбирать вам.

Мало букафф? Читайте есчо !

Отправка HTML писем из Drupal 7

Август 27, 2015 г.

В семерке поменяли кое что в плане отправки писем, и то что работало в 6ке, в 7ке уже «не катит». Разберем два аспекта отправки писем: HTML формат письма ...

Читать

Проблемы загрузки скриптов в параграфах Drupal 7

Март 22, 2021 г.

Проявляется как не прогружающиеся wysiwyg редактор (ckeditor, например) или элементы поля, обрабатываемые модулем media, при добавлении параграфа (entity модуля parapraphs). Это по-крайней мере два примера с которыми я лично сам сталкивался. Характерно, ...

Читать

Вывод результатов формы в саму форму после submit

Март 2, 2017 г.

Что делают в большинстве случаев после успешного submit данных формы? Вариантов два - либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами. Первый вариант почти всегда выглядит неказисто, ...

Читать

Drupal API функции для работы с таксономией

Октябрь 12, 2018 г.

Drupal 7 поддерживает работу с таксономией на уровне ядра (модуль taxonomy), предоставляя богатый арсенал функций. Здесь мы рассмотрим только функции, ...

Читать
 

Комментарии к «Получить имя текущей темы по дефолту в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: