$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['TYPO3\Extensionname\Task\Task'] = array( 'extension' => $_EXTKEY, 'title' => 'Scheduler Task', 'description' => 'Decription', );
Wenn noch keine Extension vorhanden ist, muss diese zuvor angelegt werden.
Im nächsten Schritt wird bereits der eigentliche Task angelegt. Dazu muss im Extensionverzeichnis unter Classes ein neuer Ordner mit dem Namen Task angelegt werden.
In diesem Ordner wird dann die Datei Task.php mit folgendem Inhalt angelegt.
<?php namespace TYPO3\Extensionname\Task; class Task extends \TYPO3\CMS\Scheduler\Task\AbstractTask { public function execute() { // Code return TRUE; // or false } } ?>
Nun ist der Task bereits angelegt und kann im Scheduler Modul aktiviert werden.
Relativ schnell wird sich nun die Frage stellen: Wie kann ich in einem Extbase Task vom Scheduler Repositorys injecten?
Der ObjectManager hilft!
$objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('\TYPO3\CMS\Extbase\Object\ObjectManager'); $objectRepository = $objectManager->get('\Vendor\Plugin\Domain\Repository\ObjectRepository');
Mit dem ObjectManager ist es auch möglich Fluid Templates rendern zu lassen.