J'ai cherché haut et bas pour cela. Comment modifier ma page d'accueil en fonction de l'heure de la journée? Pour être absolument explicite, je veux:
- Entre 8h et 19h - Page d'accueil 1 (noeud / 4)
- Entre 19h et 8h - Page d'accueil 2 (noeud / 5)
Je veux donc concevoir deux pages d'accueil complètement différentes, puis elles changent en fonction de l'heure de la journée.
J'ai essayé du code mais il ne semble pas faire le travail:
$current_front = variable_get('site_frontpage');
if($current_front== 'node/4'){
variable_set('site_frontpage','node/5');
}else{
variable_set('site_frontpage','node/4');
}
Remarque : Je ne suis pas un expert en code, donc je ne saurais pas par où commencer avec les hooks et je suis à un million d'années de la création de mes propres modules.
Réponses:
Pensez à utiliser le module Rules pour définir le nœud approprié comme page d'accueil.
Sur la base de l'échantillon de la question, je suppose que le nœud / 4 est la valeur
site_frontpage
. Voici la règle à créer qui pourrait fonctionner dans votre cas:node:nid
égal4
node/5
Pour ceux qui ne connaissent pas (assez / encore) les règles , consultez les 32 (!!!) super tutoriels vidéo (+ gratuits) Apprenez le cadre des règles . Peut-être aussi l' ensemble similaire de 8 didacticiels vidéo sur le module Flag , souvent considéré comme un complément naturel au module Rules. Peut-être aussi passer en revue l' ensemble de 30 didacticiels vidéo sur le module Vues ... La familiarité avec seulement ces 3 modules ( vues , règles et drapeau ) peut vous aider assez loin dans la plupart des sites Drupal (en tant que constructeur de site).
la source
code
$ now = time (); $ jour = date ("D", $ maintenant); return $ day == "Tue";code
J'ai juste besoin que ce soit entre 8 heures-19 heures maintenant, si quelqu'un sait comment je peux le faire, je vous en serais reconnaissant.code
$ now = time (); $ jour = date ("G", $ maintenant); return $ day <"15";code
Pour toute personne aussi inutile que moi, cela signifie que je vérifie si l'heure est avant 15h00, si c'est le cas, cette règle passe donc mon panneau s'affiche. Merci.Je suggérerais un module personnalisé avec quelques crochets cron (dans une fonction hook_cron ).
* 8 * * *
* 19 * * *
Bien sûr, cela ne fonctionnera qu'en fonction de l'horloge de votre serveur et ne changera pas en fonction du fuseau horaire de l'utilisateur. Si vous voulez que ce soit plus compliqué.
la source
Jetez un œil au module Thème clé . Plus de détails à ce sujet, à partir de sa page de projet:
la source