Zum Hauptinhalt springen
Ein Template kann auf die Uhr sehen. Damit lassen sich Hinweise zeitgesteuert einblenden, ohne dass jemand sie von Hand wieder entfernen muss: ein Adventskalender im Dezember, ein Hinweis auf den Versandschluss bis 15 Uhr, ein anderer Text am Wochenende. Alle Zeit-Tags arbeiten mit der Serverzeit, nicht mit der Uhr des Besuchers.

Erst setzen, dann ausgeben

Die Zeitangaben stammen aus einem Zeitpunkt, den Sie zu Beginn festlegen. DC-DateTime_set() tut das.
Setzen Sie den Zeitpunkt, bevor Sie einen seiner Bestandteile ausgeben oder abfragen. Alle folgenden Tags beziehen sich auf diesen einen Zeitpunkt und nicht auf den Moment, in dem sie selbst geparst werden.

Einen anderen Zeitpunkt setzen

DC-DateTime_set() nimmt eine Verschiebung in Sekunden entgegen. Damit rechnen Sie in eine andere Zeitzone oder in die Zukunft.
DC-DateTime_setunixtimestamp() setzt stattdessen einen absoluten Zeitpunkt. Das Argument ist Tag-in-Tag-fähig, der Zeitpunkt kann also aus einem anderen Tag kommen.
Ist das Argument leer oder keine Zahl, setzt der Shop den Zeitpunkt auf jetzt. Ein fehlerhafter Wert führt also nicht zu einem falschen Datum aus dem Jahr 1970, sondern zur aktuellen Serverzeit. DC-DateTime_unixtimestamp gibt den gerade gesetzten Zeitpunkt wieder als UNIX-Zeitstempel aus. Nützlich, um ihn an ein Fremdsystem oder in ein JavaScript zu übergeben.

Die Bestandteile ausgeben

Führende Nullen

Die Zahlen kommen standardmäßig ohne führende Null. Das Argument true schaltet sie ein.
DC-DateTime_year() kennt diese Unterscheidung nicht und gibt immer vier Stellen aus. Ein Argument bleibt dort wirkungslos.

Bereiche nach der Zeit schalten

Alle Bestandteile lassen sich klammern. Der Bereich erscheint, wenn der Wert mit dem Argument übereinstimmt.
Verglichen wird genau ein Wert, keine Spanne. Für “von 9 bis 17 Uhr” brauchen Sie deshalb die Vergleichs-Tags, beispielsweise DC-CompareDigitIB(), und übergeben ihnen die Stunde als Tag-in-Tag.
Referenz: DC-CompareDigitIB()

Der Wochentag

DC-DateTime_dayofweek() nimmt als Bereichs-Tag eine kommagetrennte Liste von Wochentagen entgegen.
Verglichen werden nur die ersten drei Zeichen, und Groß- und Kleinschreibung spielt keine Rolle. {DC-DateTime_dayofweek(Monday)} greift deshalb genauso wie {DC-DateTime_dayofweek(mon)}. Bleiben Sie trotzdem bei der Kurzform, damit im Template erkennbar ist, was das Tag tatsächlich vergleicht.

Laufzeiten messen

DC-Timer1…3 misst, wie lange der Shop für einen Abschnitt des Templates braucht. Drei unabhängige Timer stehen zur Verfügung.
Ein sinnvolles Muster: Timer 1 umschließt das ganze Template und liefert die Gesamtdauer, die beiden anderen grenzen die verdächtigen Abschnitte ein.
Die Timer funktionieren nur auf Templates, die sich im Browser selbst aufrufen lassen. In Include-Dateien, beispielsweise FastInclude-Dateien, messen sie nicht.Lassen Sie die Messwerte nicht im Shop stehen. Sie gehören in einen HTML-Kommentar oder in ein Template, das nur intern aufgerufen wird.

Die Tags im Überblick

Zulässig sind alle Tags auf allen Templates, die Timer ausgenommen, die in Include-Dateien nicht messen.

Verwandte Themen