Ich habe eine Seite mit einem TYPO3-Plugin, das den "Tipp des Monats" anzeigt. Ich habe Elemente im Listenmodul gefüllt, die ein Start-/Enddatum für den jeweiligen Monat haben.TYPO3 Seitencache-Lebensdauer auf einen genauen Monat (und nicht 31 Tage) setzen
Die Sache ist, ich muss entweder den Cache deaktivieren (oder es auf nur 1 Tag einstellen) oder es manuell spülen, oder die Spitze des letzten Monats wird noch angezeigt.
Ich möchte die Seite zwischengespeichert werden, aber der Cache ist nur gültig bis zum 1. eines jeden Monats. Wenn Sie die Lebensdauer der Seite im Hintergrund auf "1 Monat" festlegen, wird eine Lebensdauer von 2678400 Sekunden (31 Tage) festgelegt, was bei Monaten, die kürzer als 31 Tage sind, nicht funktionieren würde. Oder gibt es bereits eine Funktionalität, die die tatsächliche Länge des aktuellen Monats berechnet? (Ich kann nicht einen ganzen Monat warten, um es zu testen.)
Ich weiß, es ist cache.lifetime
in TypoScript, aber man kann nur einen integer (Betrag in Sekunden), „unbegrenzt“ (kein Ablauf bis "default" (wie in config.cache_period konfiguriert) oder stdWrap.
Ich weiß, dass die letzte erstellte Cache Datetime über "Date" Header in der Antwort gesendet wird. Also sollte TYPO3 irgendwo diesen Zeitstempel kennen.
So brauche ich so etwas wie:
<?php
$dateStart = new DateTime($pageLastCreated_whencever);
$dateEnd = new DateTime();
$dateEnd->modify('first day of +1 month');
$dateDiff = $dateStart->diff($dateEnd);
return $dateDiff->format('%s'); // equals cache lifetime
?>
Könnte jemand mich in die richtige Richtung schieben? obwohl
Ich würde gerne, um zu vermeiden eine Benutzerfunktion zu verwenden, ...
Vielen Dank im Voraus.
Vielen Dank für den Tipp, aber wie erreiche ich tatsächlich den Automatismus der Cache-Lebensdauer bis zum ersten des folgenden Monats? Ich weiß nicht, ob mein Beispielcode tatsächlich funktioniert (und wie man es in TypoScript macht), oder wo ich das Datum der letzten Seitenerstellung bekommen könnte. – Seika85
Ich habe die Antwort aktualisiert. Mach dir keine Sorgen um das Leben. Ihre Seite wird zwischengespeichert, bis Sie sie löschen. –
Lassen Sie uns durch ein Beispiel gehen: \t Es ist 2016-07-31 23:59 und es dreht sich um 2016-08-01 00:00. Nur dann ist die Bedingung gültig und die von Ihnen vorgeschlagene Konfiguration ist eingestellt.Aber Mitternacht ist vorbei. Bedeutet das nicht, dass der Cache stattdessen am 02.08.2016 00:00 gelöscht wird? – Seika85