Ja, ich dachte auch an den Hook, weil damit wahrscheinlich auch die Pagination funktioniert (bin nicht sicher, müsste ich zuerst testen).
Habe aber erstmal das mit dem Template empfohlen, weil dies schnell gemacht ist.
Zuerst musst du herausfinden, welche Variable du untersuchen musst (es muss ein unix timestamp sein evtl. $this->startDate)
PHP-Code:
<?php $this->showTemplateVars(); ?>
Dann musst du den aktuellen unix timestamp bekommen.
PHP-Code:
<?php
$now = time();
?>
Dann brauchst du die Zeit in Sekunden in die Zukunft, welche du erlauben möchtest.
PHP-Code:
<?php
$weekSpan = 6;
$now = time();
$futureSpan = 60 * 60 * 24 * 7 * $weekSpan; // 60sec * 60min * 24std * 7days * desired-weeks
?>
Jetzt kommt der Check und die Anweisung return, wenn das Event zu weit in der Zukunft liegt. Damit wird dieses Template an dieser Stelle dann sofort verlassen.
PHP-Code:
<?php
$weekSpan = 6;
$now = time();
$futureSpan = 60 * 60 * 24 * 7 * $weekSpan; // 60sec * 60min * 24std * 7days * desired-weeks
if($this->startDate > $now + $futureSpan)
{
return;
}
?>
Dieser Code (ungetestet) muss also ganz oben ins Template.
Wenn du es mit einem Hook machst, dann bekommst du die auszugebenden Events innerhalb des Hooks als ModelCollection. Dieses musst du als Array durchlaufen, den gleichen Check wie oben darauf anwenden und die nicht erwünschten Events aus der Collection herausfiltern und gibst die gefilterte Collection wieder zurück an Contao.
Lesezeichen