Я искал высоко и низко для этого. Как я могу изменить свою домашнюю страницу в зависимости от времени суток? Чтобы быть абсолютно явным, я хочу:
- С 8:00 до 19:00 - домашняя страница 1 (узел / 4)
- Между 7 вечера и 8 утра - домашняя страница 2 (узел / 5)
Поэтому я хочу создать две совершенно разные домашние страницы, а затем они меняются в зависимости от времени суток.
Я попробовал некоторый код, но он, похоже, не справляется с работой:
$current_front = variable_get('site_frontpage');
if($current_front== 'node/4'){
variable_set('site_frontpage','node/5');
}else{
variable_set('site_frontpage','node/4');
}
Примечание : я не программист, поэтому не знаю, с чего начать с ловушек, и я за миллион лет до создания своих собственных модулей.
Ответы:
Попробуйте использовать модуль « Правила », чтобы установить соответствующий узел в качестве главной страницы.
Основываясь на примере в вопросе, я предполагаю, что это значение имеет узел / 4
site_frontpage
. Вот фактическое правило, которое будет создано, которое может работать в вашем случае:node:nid
равно4
node/5
Для тех, кто не знаком (достаточно / пока) с Правилами , ознакомьтесь с 32 (!!!) отличными (+ бесплатными) видеоуроками Изучите структуру правил . Возможно также аналогичный набор из 8 видеоуроков о модуле « Флаг », который часто рассматривается как естественное дополнение к модулю «Правила». Возможно, также рассмотрите набор из 30 видеоуроков о модуле Views ... Знакомство только с этими 3 модулями ( Views , Rules и Flag ) может помочь вам продвинуться практически на любом сайте Drupal (в качестве разработчика сайта).
источник
code
$ now = time (); $ день = дата ("D", $ сейчас); return $ day == "Tue";code
мне просто нужно, чтобы это было с 8 утра до 7 вечера сейчас, если кто-нибудь знает, как я могу это сделать, я был бы благодарен. Спасибо.code
$ now = time (); $ день = дата ("G", $ сейчас); возврат $ day <"15";code
Для любого столь же бесполезного, как я, это означает, что я проверяю, наступило ли время до 15.00, если это так, то это правило проходит, так что моя панель показывает. Спасибо.Я бы предложил пользовательский модуль с парой хуков cron (в одной функции hook_cron ).
* 8 * * *
* 19 * * *
Конечно, это будет работать только на основе часов вашего сервера и не будет меняться в зависимости от часового пояса пользователя. Если вы хотите, это будет сложнее.
источник
Взгляните на модуль Theme Key . Еще несколько подробностей об этом на странице проекта:
источник