Я реализовал модуль drupal для переключения двух тем в зависимости от времени сервера. Его упрощенный код:
function toggle_themes_init() {
global $custom_theme;
$current_theme = variable_get('theme_default', 'garland');
// Determine the daytime
$hours = (int)date('H');
$new_theme = ($hours >= 8 && $hours < 18 ? 'light_theme' : 'dark_theme');
// If the default theme differs from $new_theme
// then we want to clear the theme cache
if ($new_theme != $current_theme) {
variable_set('theme_default', $new_theme);
drupal_rebuild_theme_registry();
}
$custom_theme = $new_theme;
}
Я не уверен, как правильно очистить кэш темы (для всех страниц сайта сразу).
Прямо сейчас тема на некоторых страницах не меняется (используя этот код). Например. Тема на странице, созданная модулем Views, изменена. Пока темы статической страницы нет.
Когда я отключаю кеш drupal, все работает нормально.
Пожалуйста, дайте рабочий совет.
Буду рад вашей помощи!