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

Landroid Worx Mähroboter DIY GPS Tracking

DIY GPS Tracking für den Landroid Worx Mähroboter

Wenn du auf der Suche nach einer Möglichkeit bist, deinen Landroid Worx Mähroboter mit GPS Tracking auszustatten, dann bist du hier genau richtig. In diesem Beitrag zeige ich dir, wie du mit einem GPS Modul und einem ESP32 Controller dein eigenes Tracking-System für deinen Mähroboter realisieren kannst. Zusätzlich erkläre ich dir, wie du die Genauigkeit der GPS-Daten mittels eines Kalman-Filters in Home Assistant verbesserst.


Weiter >>

WLAN Router Einstellungen Telekom ISP / Tenda Nova MX21-Pro Mesh WLAN Wi-Fi 6E System

Persönliche Einblicke in die Einrichtung und Nutzung

Als passionierter Technologie-Enthusiast und stolzer Nutzer eines Telekom 500Mbit/s Glasfaser Internet Anschlusses war ich auf der Suche nach einem WLAN-System, das mit Leistung und Zuverlässigkeit überzeugen kann. Meine Wahl fiel auf das Tenda Nova MX21-Pro Mesh WLAN Wi-Fi 6E[*] System, und diese Entscheidung möchte ich heute ausführlich mit Ihnen teilen.


Weiter >>