Fluid in TYPO3 CMS Extbase Scheduler Task rendern

| | Allgemein, CMS, Programmierung, Web

Um beispielsweise bei Buchungssystem Daten automatisiert in Dateien zu exportieren, legt man logischerweise einen Scheduler Task an. Da es allerdings nicht sehr schön ist die Datei direkt im „Controller“ bzw. dem „Task“ zusammen zu setzten, ist es hilfreich das Ganze in ein Fluid Template auszulagern.

Um im Scheduler Task Context \TYPO3\CMS\Scheduler\Task\AbstractTask allerdings Fluid rendern zu können, müssen wir zunächst eine Instanz des ObjectManager erzeugen, welche es uns dann erlaubt einen StandaloneView zu verwenden.

Hier hilft folgende Funktion:

/**
* @param string $pathToFile Model/Template.html
* @param mixed $appendData
*/
public function getRenderedFluidTemplate($pathToFile, $appendData) { 
 // Generate and set the basic Fluid View File and Pathes 
 $templateRootPath = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName('EXT:extname/Resources/Private/Templates/'); 
 $tenplateLayoutRootPath = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName('EXT:extname/Resources/Private/Layouts/'); 
 $templatePathAndFilename = $templateRootPath . $pathToFile; 
// Create an Instance of a Fluid StandaloneView Object 
 $view = $this->objectManager->get('\TYPO3\CMS\Fluid\View\StandaloneView'); 
 /** @var StandaloneView $view */ 
 $view->setLayoutRootPath($tenplateLayoutRootPath); 
 $view->setTemplatePathAndFilename($templatePathAndFilename); 
 $view->assign('data', $appendData); 
 $renderedTemplate = $view->render(); 
 return $renderedTemplate; 
}

Mit dieser Funktion, kann jedes Fluid Template gerendert werden. Auch ist nun die Verwendung von sämtlichen ViewHelpern möglich.

Um das ganze mit Leben zu füllen, kann auch in diesem Context mithilfe des ObjectManagers ein Repository injected werden.

Es muss allerdings noch der Extension Name definiert werden.

Neueste Beiträge

Reolink RLC-811WA: Meine Erfahrungen mit der 4K-Kamera und optischem Zoom

Produktbild: Reolink RLC-811WA

Ich habe bereits mehrere Kameras im Einsatz und mir diesmal eine etwas teurere geholt: die Reolink RLC-811WA[*]. Mich hat interessiert, ob man den Aufpreis im Alltag merkt. Mein bisheriger Eindruck: ja. Die Kamera reagiert schneller und läuft stabiler als meine bisherigen Geräte. Dazu kommen ein gutes Bild und ein Zoom, den ich ziemlich spannend finde.


Weiter >>

Upgrade fürs Homelab: Vom 150-€-Mini-Server zum MINISFORUM MS-01 als Heimserver/Homelab: i9-12900H, 10 GbE, USB4 & PCIe-GPU, ideal für LLMs, Docker & Home Assistant

Mein kleiner Mini-Server aus diesem Beitrag läuft immer noch ohne Zicken:
Heimserver für Home Assistant und anderes für ca. 150 Euro.
Aber: Ich bastle inzwischen deutlich mehr mit LLMs, Containern und VMs – also musste etwas Stärkeres her.

Gekauft habe ich nun den MINISFORUM MS-01 als Barebone mit Intel Core i9-12900H (hier)[*],
dazu diese NVMe-SSD (Link)[*] und dieses DDR5-RAM-Kit (Link)[*].

Ergebnis: Setup an, Dienste rübergezogen – fertig. Die Kiste ist im Alltag leise, unter LLM-Last brüllt sie nicht, legt aber hörbar los – so soll’s sein.


Weiter >>