Eigenen TYPO3 CMS Extbase Scheduler Task

| | Allgemein, CMS, Programmierung, Web

Um einen Scheduler Task anzulegen bzw. eine Extension um einen Scheduler Task zu erweitern reichen folgende einfache Schritte.

Wenn bereits eine Extension vorhanden ist, muss zunächst muss in der ext_localconf.php folgendes ergänzt werden.
$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.

Neueste Beiträge

Ein Leitfaden für Senioren: Günstige Smartphones bis 100 Euro – Unsere 4 Favoriten & Erfahrungsbericht einer maßgeschneiderten Senioren-Lösung – UPDATE 2024/25

In diesem Beitrag stellen wir dir vier günstige Smartphones vor, die aktuell (Stand Dezember 2024) für unter 100 Euro erhältlich sind. Zusätzlich teilen wir eine ganz besondere Geschichte aus dem Familienkreis: Wie wir eines dieser Geräte für die Oma meiner Verlobten eingerichtet haben, damit sie trotz ihrer Parkinson-Erkrankung gut damit zurechtkommt.


Weiter >>

Getting Started with Alfresco SDK/Development: A Beginner’s Guide to Automating File Organization with Alfresco Behaviors

Alfresco is an enterprise content management platform known for its flexibility and extensibility. One powerful way to extend its functionality is through Behaviors, which allow you to run custom logic whenever specific repository events occur. For example, you can trigger custom actions whenever nodes are created, updated, or deleted.


Weiter >>

Enhancing Alfresco’s Public API (ACS): A Step-by-Step Guide to Custom Node Extensions with MIME Type Restrictions

Introduction

In today’s digital landscape, controlling and validating the types of content users can upload into systems is essential for security and data integrity. Alfresco, a leading open-source content services platform, offers a flexible public API that enables developers to create custom extensions and adapt the platform to specific organizational needs. This article provides a step-by-step guide to implementing a MIME type restriction feature in Alfresco’s Nodes API, allowing for more controlled and secure content uploads.


Weiter >>

Warum der Air Assist unverzichtbar ist – Mein Erfahrungsbericht

Nachdem ich meinen ATOMSTACK A12 Ultra Laser[*] und die R2 V2 Drehwalze[*] in Betrieb genommen hatte, war es nur eine Frage der Zeit, bis ich mir zusätzlich ein Air Assist System zugelegt habe. Ich entschied mich für das DEWALLIE Air Assist Set[*], und ich kann schon vorweg sagen: Es war eine der besten Ergänzungen für meine Lasergravur-Setups, vor allem beim Arbeiten mit Holz!


Weiter >>