Hi wsa,
hier eine kurze Schritt-für-Schritt Anleitung.
1. Erstelle unterhalb von /system/modules/ einen neuen Ordner. Nenn ihn wie du möchtest. Im Beispiel verwende ich jetzt einfach mal "mark_it"
2. Unterhalb von /system/modules/mark_it/ erstellst du einen weiteren Ordner /config
3. Im /config Ordner erstellst du eine Datei config.php (hier wird der zukünftige Cronjob registriert)
Der Inhalt von config.php ist:
PHP-Code:
<?php
if (!defined('TL_ROOT')) die('You can not access this file directly!');
$GLOBALS['TL_CRON']['daily'][] = array('MarkIt', 'runCron');
4. Im Hauptverzeichnis, also /system/modules/mark_it/ erstellst du eine Datei, die genauso heißt, wie der erste Parameter im Array, also MarkIt.php, damit weiß Contao, welche Klasse geladen werden soll.
5. Innerhalb der Klasse "MarkIt" erstellst du eine Methode, die den gleichen Namen hat, wie der 2. Parameter im Array, also runCron
Inhalt von MarkIt.php
PHP-Code:
<?php
class MarkIt extends System
{
public function __construct()
{
$this->import("Database");
}
public function runCron()
{
$intCompareTstamp = time()-(86400*90); // Sekunden pro Tag mal 90 Tage = 3 Monate
$this->Database->prepare("UPDATE tl_deineTabelle SET SpalteZurMarkierung = 1 WHERE SpalteErstellungsDatum < ?")->execute($intCompareTstamp)
}
}
Das müsste es generell gewesen sein. Ich habs selbst nicht getestet, sondern einfach blind geschrieben. Die SpalteZurMarkierung und SpalteErstellungsDatum musst du natürlich ersetzen durch die Spaltennamen die in deiner Tabelle vorhanden sind.
Kannst ja schreiben obs funktioniert hat. Das ist jedenfalls der Grundsätzliche Aufbau eines Moduls.
Wenn Fragen hast, meld dich einfach :-)
Gruß aus Augsburg ;-)
Michael