Uhrzeit im Datepicker von TYPO3 4.5 & TYPO3 6.x

In TYPO3 können sowohl Seiten als auch Seiteninhalte zeitgesteuert ein- und ausgeblendet werden. Dafür stellt TYPO3 eine nette Kalender-Ansicht bereit, den "Datepicker". In TYPO3 4.5 LTS sieht der Datepicker von Haus aus nur die Angabe des Datums vor. In TYPO3 6 kann man die "starttime" und "endtime" standardmäßig minutengenau einstellen. Das geht aber auch umgekehrt!

 

Uhrzeit im Datepicker von TYPO3 4.5 LTS ergänzen

Um in TYPO3 4.5 LTS die starttime und endtime von Seiten bzw. Seitenelementen mit Uhrzeit eingeben zu können, muss man in der Datei typo3conf/extTables.php lediglich folgende Zeilen ergänzen (steht bereits in der Datei, man muss nur die Kommentare entfernen):

 

// Changes 'date' fields to 'datetime' fields in pages and tt_content
$GLOBALS['TCA']['tt_content']['columns']['starttime']['config']['eval'] = 'datetime';
$GLOBALS['TCA']['tt_content']['columns']['endtime']['config']['eval'] = 'datetime';
$GLOBALS['TCA']['pages']['columns']['starttime']['config']['eval'] = 'datetime';
$GLOBALS['TCA']['pages']['columns']['endtime']['config']['eval'] = 'datetime';

 

Uhrzeit im Datepicker von TYPO3 6.x entfernen

Umgekehrt kann es hilfreich sein in TYPO3 6.x die voreingestellt sichtbare Zeitangabe wieder auszublenden, damit der Funktionsumfang des Datepickers wieder dem Stand der 4.5er-Version entspricht. Das geht ganz einfach, indem man in obigen Zeilen 'datetime' in 'date' verwandelt:

 

// Changes 'datetime' fields back to 'date' in pages and tt_content
$GLOBALS['TCA']['tt_content']['columns']['starttime']['config']['eval'] = 'date';
$GLOBALS['TCA']['tt_content']['columns']['endtime']['config']['eval'] = 'date';
$GLOBALS['TCA']['pages']['columns']['starttime']['config']['eval'] = 'date';
$GLOBALS['TCA']['pages']['columns']['endtime']['config']['eval'] = 'date'; 

Die Seiten bzw. Seiteninhalte werden dann jeweils um Mitternacht ein- bzw. ausgeblendet.

 

Cache leeren nicht vergessen!

Im Typoscript-Setup sollte man dann zusätzlich noch diese Zeile einfügen:

 

config.cache_clearAtMidnight = 1

Andernfalls kann es passieren, dass im Cache anderer(!) Seiten Referenzen (etwa Links) auf die zeitgesteuert ausgeblendeten Inhate auftauchen.

Alternativ - und besser - kann man die Cache-Steuerung natürlich über den Scheduler (deutsch: Planer) laufen lassen. Aber das zu erläutern ist ein anderes Thema ...