He buscado por todas partes esto. ¿Cómo cambio mi página de inicio según la hora del día? Para ser absolutamente explícito, quiero:
- Entre las 8 a.m. y las 7 p.m. - Página de inicio 1 (nodo / 4)
- Entre las 7 p.m. y las 8 a.m. - Página de inicio 2 (nodo / 5)
Así que quiero diseñar dos páginas de inicio completamente diferentes y luego cambian según la hora del día.
Intenté un código pero no parece hacer el trabajo:
$current_front = variable_get('site_frontpage');
if($current_front== 'node/4'){
variable_set('site_frontpage','node/5');
}else{
variable_set('site_frontpage','node/4');
}
Nota : No soy un genio del código, así que no sabría por dónde empezar con ganchos y estoy a un millón de años de crear mis propios módulos.
Respuestas:
Considere usar el módulo Reglas para establecer el nodo apropiado como su página principal.
Basado en la muestra en la pregunta, estoy asumiendo que el nodo / 4 es de lo que es el valor
site_frontpage
. Aquí está la regla real que se creará que podría funcionar en su caso:node:nid
igual4
node/5
Para cualquiera que no esté familiarizado (suficiente / todavía) con las Reglas , consulte los 32 (!!!) excelentes tutoriales en video (+ gratis) Aprenda el marco de Reglas . Posiblemente también el conjunto similar de 8 video tutoriales sobre el módulo Flag , a menudo considerado como un complemento natural del módulo Reglas. Quizás también revise el conjunto de 30 tutoriales en video sobre el módulo Vistas ... La familiaridad con solo esos 3 módulos ( Vistas , Reglas y Bandera ) puede llevarlo bastante lejos en casi cualquier sitio de Drupal (como creador de sitios).
fuente
code
$ now = time (); $ día = fecha ("D", $ ahora); return $ day == "Tue”;code
solo necesito que esto sea entre las 8 am-7pm ahora, si alguien sabe cómo puedo hacer eso, estaría agradecido. Gracias.code
$ now = time (); $ día = fecha ("G", $ ahora); return $ día <"15";code
Para cualquier persona tan inútil como yo, esto significa que estoy verificando si el tiempo es antes de las 15.00 horas, si es así, esta regla pasa, así que mi panel muestra. Gracias.Sugeriría un módulo personalizado con un par de ganchos cron (en una función hook_cron ).
* 8 * * *
* 19 * * *
Por supuesto, eso solo funcionará según el reloj del servidor y no cambiará según la zona horaria del usuario. Si quieres eso, será más complicado.
fuente
Echa un vistazo al módulo de clave de tema . Algunos detalles más al respecto, desde su página de proyecto:
fuente