Wie erstelle ich meinen eigenen Task
Benötigte Extensions: Kickstarter
Dort eine Extension erstellen, diese braucht kein Plugin, keine Tabellen in der Datenbank oder sonstige zusätzlichen Einstellungen. Nur ein paar Informationen in "general informations". Dann die Extension Installieren und laden.
Nun gehen wir in den Ordner "typo3conf/ext/NAME_DER_EXTENSION/" dort legen wir die Datei "ext_localconf.php" an. Beispiel Inhalt:
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['tx_NAME_DER_KLASSE_DER_EXTENSION'] = array(
'extension' => $_EXTKEY,
'title' => 'KURZER TITEL DES TASKS',
'description' => 'BESCHREIBUNG DES TASKS'
);
?>
Dann erstellen wir eine neue PHP-Datei im Verzeinis "typo3conf/ext/NAME_DER_EXTENSION/" mit dem Namen "class.NAME_DER_KLASSE_DER_EXTENSION.php". Dort wird die Funktion des Tasks definiert. Beispiel Inhalt:
<?php
class tx_NAME_DER_KLASSE_DER_EXTENSION extends tx_scheduler_Task {
public function execute() {
// … PHP CODE der die Task Funktion abbildet
if ($result) {
return true;
} else {
return false;
}
}
}
?>
Als letzten Schritt muss die Klasse noch in TYPO3 bekannt gemacht werden (per Autoloader). Dazu brauchen wir noch die Datei "ext_autoload.php" im Ordner "typo3conf/ext/NAME_DER_EXTENSION/" mit dem Inhalt:
<?php
return array(
'tx_NAME_DER_KLASSE_DER_EXTENSION' => t3lib_extMgm::extPath('EXTENSION_KEY', 'class.NAME_DER_KLASSE_DER_EXTENSION.php')
);
?>

