Nodequeue – Rotator, welcher täglich wechselt


Nodequeue ist ein ziemlich cooles Modul. Dadurch lassen sich Reihenfolgen manuell festlegen. Besonders für Startseiten von Newsseiten kann es sehr nützlich sein. Jetzt ist die folgende Anforderung: Ein Bereich auf der Seite soll wechselnden Inhalt haben. Dieser Inhalt soll einmal pro Tag wechseln (zu einem festgelegten Zeitpunkt).

Das ganze lässt sich mit Nodequeue super umsetzen:

  1. Eine Nodequeue anlegen. Diese auf 7 Items beschränken (für jeden Wochentag einen).
  2. Zu den Views gehen und dort die entsprechende Nodequeue Views bearbeiten.
  3. Ein Argument hinzufügen ((queue) Nodequeue: Position).
  4. Dann folgendes anwählen:

    • Action to take if argument is not present:

      Provide default argument

      PHP Code

Der PHP Code sieht wie folgt aus:

<!–?php
$date = new DateTime();

$weekday = $date->format("w");

$weekday = $weekday + 1;

$hour = $date->format("H");

if($hour < 10) { if($weekday == 1) { $weekday = 7; } else { $weekday–; } } return $weekday; ?>

Das wäre es dann auch schon alles. Dadurch kann man die Seite ohne Argument aufrufen, via PHP wird dann ein Default Argument generiert, welches abhängig vom Wochentag ist. Um 10 Uhr wird dann jeweils ein neuer Inhalt aus der Nodequeue genommen.

So simpel!