Mit diesem kurzen PHP-Extbase Snippet implementiert man einen Task für die eigen entwickelte Extension, um im Scheduler einen Listeneintrag zu generieren und automatisierte Prozesse durchzuführen.
Für diese Anleitung habe ich bereits ein Video (In Englisch) erstellt.
In der ext_localconf.php der Extension muss folgender Eintrag hinzugefügt werden:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['YourVendorName\\ExtensionKey\\Task\\TaskName'] = array(
'extension' => 'Your Extension Key',
'title' => 'A title that explains, what it does.',
'description' => 'A brief description'
);
Außerdem muss in der Extension selbst ein Ordner namens "Task" unter "Classes" hinzugefügt werden und der Controller <TaskName>.php benannt werden.
In die <TaskName.php> schreiben wir für die Grundfunktion folgende Zeilen:
<?php
namespace YourVendorName\ExtensionKey\Task;
class DoWhateverTask extends AbstractTask {
public function execute() {
return true; //Needs to be added, otherwise task will fail always.
}
}
Wie im Kommentar schon zu sehen, sind die Return Values wichtig. Wird die Methode "execute" ausgeführt und gibt ein "false" zurück, ist der Task fehlgeschlagen. In dem Fall kann man die Methode noch um eine Fehlermeldung erweitern. Wenn "true" zurückgegeben wird, wird auch der Task als erfolgreich ausgeführt gemeldet.