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

Introducing a simple Docker Compose setup for HMS MQTT Publisher

Update: I am using this „much easier“ integration now: https://github.com/suaveolent/ha-hoymiles-wifi[GitHub, External]

I’ve been tinkering with my home automation setup recently, specifically integrating HMS-XXXXW-2T series micro-inverters with my system. The hms-mqtt-publisher[GitHub, External] is a neat tool that does just that by fetching telemetry info from these inverters and publishing it to an MQTT broker. The catch? It typically requires compiling from source with Cargo, Rust’s package manager.


Weiter >>

Effortlessly Backing Up Paperless-ngx with Cloudflare, rclone, and Docker

In the digital age, data backup is a non-negotiable part of managing any document management system. For those of us relying on the efficiency and organizational prowess of Paperless-ngx, ensuring our data is safe and recoverable is paramount. I’ve devised a seamless backup solution that utilizes the power of Cloudflare’s rclone and Docker, guaranteeing peace of mind and data security. Here’s a detailed look into my approach, which is applicable not just for Paperless-ngx but for any data stored on R2 storage. (https://www.cloudflare.com/developer-platform/r2/, Pricing: https://www.cloudflare.com/plans/developer-platform/ (10GB/Month for free))


Weiter >>

Ein Leitfaden für Senioren: Günstige Smartphones und Handys für Senioren bis 170 Euro

Mit über 80 Jahren beschlossen mein Opa, sich der digitalen Welt anzuschließen. Meine Oma nutzt bereits ein Xiaomi-Handy und schätzt dessen Einfachheit. Nun möchte mein Opa auch ein Mobiltelefon, das eine gute Kamera hat und einfach zu bedienen ist, aber dennoch WhatsApp und andere Funktionen unterstützt – und besonders wichtig: Kein Senioren Handy

Kurzversion: Am Ende ist es das Xiaomi Redmi 12 geworden, was zu dem Zeitpunkt bei Amazon für 149,90 Euro verfügbar war*


Weiter >>