Ich habe hoch und niedrig danach gesucht. Wie ändere ich meine Homepage basierend auf der Tageszeit? Um ganz explizit zu sein, möchte ich:
- Zwischen 8 und 19 Uhr - Homepage 1 (Knoten / 4)
- Zwischen 19 Uhr und 8 Uhr - Homepage 2 (Knoten / 5)
Ich möchte also zwei völlig unterschiedliche Homepages entwerfen, die sich dann je nach Tageszeit ändern.
Ich habe Code ausprobiert, aber er scheint nicht den Job zu machen:
$current_front = variable_get('site_frontpage');
if($current_front== 'node/4'){
variable_set('site_frontpage','node/5');
}else{
variable_set('site_frontpage','node/4');
}
Hinweis : Ich bin kein Code-Experte und weiß daher nicht, wo ich mit Hooks anfangen soll. Ich bin eine Million Jahre davon entfernt, meine eigenen Module zu erstellen.
Antworten:
Verwenden Sie das Modul Regeln , um den entsprechenden Knoten als Startseite festzulegen.
Basierend auf dem Beispiel in der Frage gehe ich davon aus, dass Knoten / 4 der Wert ist
site_frontpage
. Hier ist die tatsächlich zu erstellende Regel, die in Ihrem Fall funktionieren könnte:node:nid
gleich4
node/5
Für alle, die (noch / nicht) mit Regeln vertraut sind , lesen Sie die 32 (!!!) großartigen (+ kostenlosen) Video-Tutorials. Lernen Sie das Regeln-Framework . Möglicherweise auch der ähnliche Satz von 8 Video-Tutorials zum Flag- Modul, die oft als natürliche Ergänzung zum Rules-Modul angesehen werden. Vielleicht lesen Sie auch die 30 Video-Tutorials zum Views- Modul ... Wenn Sie nur mit diesen 3 Modulen ( Views , Rules und Flag ) vertraut sind , können Sie in fast jeder Drupal-Site (als Site Builder) ziemlich weit kommen.
quelle
code
$ now = time (); $ day = date ("D", $ now); return $ day == "Di";code
ich brauche das jetzt nur zwischen 8 und 19 Uhr. Wenn jemand weiß, wie ich das machen kann, wäre ich dankbar. Danke.code
$ now = time (); $ day = date ("G", $ now); return $ day <"15";code
Für jeden, der so nutzlos ist wie ich, bedeutet dies, dass ich überprüfe, ob die Zeit vor 15.00 Uhr liegt. Wenn dies der Fall ist, gilt diese Regel, sodass mein Panel dies anzeigt. Vielen Dank.Ich würde ein benutzerdefiniertes Modul mit ein paar Cron-Hooks vorschlagen (in einer hook_cron- Funktion).
* 8 * * *
* 19 * * *
Dies funktioniert natürlich nur basierend auf Ihrer Serveruhr und ändert sich nicht basierend auf der Zeitzone des Benutzers. Wenn Sie das wollen, wird es schwieriger.
quelle
Schauen Sie sich das Theme Key- Modul an. Weitere Details dazu auf der Projektseite:
quelle