Menu
 

 

SSI: Datumsabhängige Ausgaben

von Arne Pottharst

Wer seinen Besuchern Inhalte abhängig vom Datum zeigen möchte, kann auch das mittels SSI erledigen. Und zwar ohne dass die Seiten täglich aktualisiert werden müssten.

Dazu formatieren wir das Zeitformat so, dass uns DATE_LOCAL das aktuelle Datum in der Form 20041024 zurückliefert, dies geschieht per timefmt wie folgt:

<!--#config timefmt="%Y%m%d" -->

Nun können wir diese Ausgabe in einer if-Abfrage weiterverwenden. Wir benötigen die folgenden Vergleichsoperatoren:

= (gleich: während)
< (kleiner als: vor)
> (größer als: danach)
<= (kleiner gleich: während und davor)
>= (größer gleich: während und danach)
!= (ungleich; nicht während)

Um ein bestimmtes Datum abzufragen, schreiben wir folgendes:

<!--#if expr="$DATE_LOCAL = '20010923'" -->
  Heute ist Herbstanfang 2001!
<!--#endif -->

<!--#if expr="$DATE_LOCAL >= '20010923'" -->
  Dies wird ab Herbstanfang 2001 angezeigt.
<!--#endif -->

Um einen Text in einem bestimmten Zeitraum anzuzeigen, können wir zwei Befehle verschachteln:

<!--#if expr="$DATE_LOCAL >= '20010922'" -->
  <!--#if expr="$DATE_LOCAL < '20011221'" -->
    Dies wird im Herbst 2001 gezeigt.
  <!--#endif -->
<!--#endif -->

Weitere Datumsformatierungen:

%Y vierstellige Jahreszahl: 2024
%m zweistelliger Monat: 04
%d zweistelliger Tag: 19

Diese Angaben können beliebig kombiniert werden. Jährlich wiederkehrende Ereignisse werden beispielsweise so formatieren:

<!--#config timefmt="%m%d" -->

Dies ergibt die Ausgabe .

Der vollständige Ausdruck:

<!--#if expr="$DATE_LOCAL = '0923'" -->
  Heute ist Herbstanfang, wie jedes Jahr.
<!--#endif -->

Live-Demo:

Wir haben Frühling!

 
   Anzeigen