Как проверить, включена ли тема в установке drupal? Я ищу что-то вроде module_exists (), но для тем. Я не мог найти ничего в документации.
Как проверить, включена ли тема в установке drupal? Я ищу что-то вроде module_exists (), но для тем. Я не мог найти ничего в документации.
Ответы:
Используйте list_themes
$ refresh : перезагрузить ли список тем из базы данных. По умолчанию FALSE.
Ассоциативный массив доступных на данный момент тем. Ключи - это имена компьютеров тем, а значения - объекты, имеющие следующие свойства:
Используйте path_to_theme, чтобы получить активную тему.
Он может указывать на активную тему или модуль, обрабатывающий тематическую реализацию. Например, при вызове в рамках вызова тем будет зависеть от того, где обрабатывается функция тем. Если реализовано из модуля, оно будет указывать на модуль. Если реализовано из активной темы, оно будет указывать на активную тему. При вызове вне области тематического вызова он всегда будет указывать на активную тему.
Данные на самом деле хранятся в одном и том же месте system
таблицы. Я не смог найти существующую функцию для проверки (хотя, возможно, она где-то есть), но это нужно сделать в крайнем случае:
function theme_exists($theme_name) {
$themes = list_themes();
return isset($themes[$theme_name]) && $themes[$theme_name]->status == 1;
}
theme_exists
только для того, чтобы обойти возможные проблемы с системой тем