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

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 >>

Glas gravieren mit Diodenlaser: So klappt’s mit einfacher Gouachefarbe

Glasgravur für Zuhause: Wie du mit einfacher Wasserfarbe und einem Diodenlaser wie dem Atomstack perfekte Ergebnisse erzielst

Du willst Weingläser, Sektgläser oder Kölschstangen selbst gravieren? Ganz einfach zuhause, ohne teures Profi-Equipment? Dann bist du hier genau richtig! In diesem Artikel zeige ich dir, wie du mit einem Diodenlaser wie dem Atomstack A12 Ultra Pro[*] und einer einfachen schwarzen Wasserfarbe beeindruckende Gravuren auf Glas zauberst.

Das Besondere: Du brauchst keinen teuren Speziallack! Eine ganz normale, deckende Gouachefarbe auf Wasserbasis[*] reicht völlig aus – einfach aufzutragen, abwaschbar und absolut effektiv. Perfekt für Einsteiger, Hobby-Maker und DIY-Fans.


Weiter >>

Your MSPA Goes Smart – Step-by-Step to a DIY Smart Home Hot Tub (Wi-Fi Upgrade)

Introduction

In this article, I’ll show you how I successfully reverse-engineered the serial communication protocol of an MSPA Muse Carlton hot tub. The goal was to read remote control commands and send custom ones. I used an ESP32 Dev Board[*] for this. This protocol likely works with other MSPA models as well.

This article is for makers, home automation enthusiasts, and tech fans who enjoy diving deep into technical systems.


Weiter >>