Zum Hauptinhalt springen
Bei einer besonders schnellen Versandart soll der Käufer sehen, ob seine Bestellung heute noch herausgeht. Der Hinweis richtet sich nach Wochentag und Uhrzeit: Blitzversand

Voraussetzungen im Template

Das Beispiel gibt die Versandarten mit den DELIV-Data-Tags einzeln aus, nicht als fertige Liste. Nur so lässt sich je Versandart etwas dazwischenschieben.
Steht in der Shopkonfiguration im Abschnitt <+Deliverer> bereits ein fester Hinweis im Parameter Suffix-Txt, etwa “Deine Bestellung bis 14 Uhr …”, entfernen Sie ihn. Sonst erscheinen beide Texte nebeneinander, und der feste widerspricht dem dynamischen genau dann, wenn es darauf ankommt.
Referenz: DELIV- (Einzelpositionierung der Versandarten) · Abschnitt +Deliverer

Der Quellcode

Der Abschnitt gehört in die Schleife über die Versandarten auf der Zahlungs- und Versandartenseite ws_pay_deliv.htm.

Wie das zusammenspielt

~DC-DateTime_set~ muss vor der ersten Zeitabfrage stehen. Alle DC-DateTime-Tags beziehen sich auf den Zeitpunkt, den dieses Tag gesetzt hat, und nicht auf den Moment, in dem sie selbst ausgewertet werden. Steht die Abfrage des Wochentags davor, arbeitet sie nicht mit dem Zeitpunkt, den Sie meinen.
DC-DateTime_hours liefert volle Stunden von 0 bis 23. Der Vergleich auf “kleiner oder gleich 13” deckt deshalb alles bis 13:59 Uhr ab, und der Wechsel geschieht um Punkt 14 Uhr. Wer hier auf 14 ändert, verschiebt den Versandschluss unabsichtlich auf 15 Uhr. Für den Fall Samstag und Sonntag braucht es keinen eigenen Block. Die negative Klammerung deckt ihn bereits ab, und außerhalb davon erscheint ohnehin nichts.
Alle Zeit-Tags arbeiten mit der Serverzeit, nicht mit der Uhr des Käufers. Für einen Käufer in einer anderen Zeitzone stimmt die Aussage deshalb nicht. Wenn Ihr Shop in mehrere Zeitzonen liefert, formulieren Sie den Hinweis so, dass er die Zeitzone nennt, oder verschieben Sie den Zeitpunkt mit ~DC-DateTime_set(Sekunden)~.

Worauf die Prüfung tatsächlich reagiert

DC-FPDelivName_contains() sucht die Zeichenfolge irgendwo im Namen und unterscheidet dabei nicht zwischen Groß- und Kleinschreibung. “Blitz” greift also bei “Blitzversand”, “blitzexpress” und “Super-Blitz”.
Damit hängt der Hinweis am Namen der Versandart. Wird sie im Shop umbenannt, beispielsweise von “Blitzversand” zu “Expressversand”, verschwindet der Hinweis stillschweigend. Es gibt keine Fehlermeldung, die Versandart erscheint weiterhin, nur eben ohne Text.Wählen Sie die gesuchte Zeichenfolge deshalb so, dass sie bei einer Umbenennung voraussichtlich erhalten bleibt, und vermerken Sie den Zusammenhang dort, wo die Versandarten gepflegt werden.
Umgekehrt greift die Prüfung auch bei Versandarten, die Sie gar nicht gemeint haben, sobald die Zeichenfolge im Namen vorkommt. Je kürzer und je alltäglicher sie ist, desto größer die Gefahr. Das Beispiel kennt keine Feiertage. An einem Dienstag, der ein Feiertag ist, verspricht der Shop den Versand noch am selben Tag. Wenn das ein Problem ist, pflegen Sie die betroffenen Tage über eine Kampagne oder über einen eigenen freien Parameter nach. Referenz: DC-FPX_set() · DC-FPX_contains() · DELIV-Data_Name · DC-DateTime_set() · DC-DateTime_dayofweek() · DC-DateTime_hours() · DC-CompareDigitLTE()

Verwandte Themen