[TYPO3-german] Re: Command Controller Action => View integrieren
Mogens Fiebrandt
mogens.fiebrandt at gmx.de
Sat Dec 13 16:38:36 CET 2014
Hi Benjamin,
ich stehe gerade vor einem ähnlichem Problem.
Ich habe auch einen Command Controller der mit dem Scheduler ausgeführt wird. Es werden etwa 2000 Veranstaltungen geladen.
Die gerenderte View soll dann in einer Datei bereitgestellt werden.
Ich bin vielleicht schon ein kleines Stück weiter.
public function serveEventsCommand() {
// Die Standalone View wird geladen
$eventListView = $this->objectManager->get('TYPO3\\CMS\\Fluid\\View\\StandaloneView');
// Bei diesem Punkt bin ich mir nicht sicher. In einem Beispiel das ich gefunden habe, ist es auskommentiert.
$eventListView->setFormat('html');
// $this->controllerContext gibt es im Commandcontroller nicht. Ich denke, dass dies der ausschlaggebende Puntk ist, wieso mein Script nicht läuft. Ich habe bereits versucht einen meiner Action-Controller zu injecten. Leider auch ohne Erfolg. Auch hier fehlt der ControllerContext.
$eventListView->setControllerContext($this->controllerContext);
// Weiter habe ich versucht mit:
// $controllerContext = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerContext');
// mir einen ControllerContext zu bauen. Leider bisher auch ohne Erfolg.
// Diese Konfiguration wird zwar geladen, aber es fehlt dann $conf['view'], in dem die Pfade zu den RootPaths stehen sollen.
$conf = $this->configurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
// Das hier funktioniert schon garnicht mehr wegen dem fehlenden $conf['view']
$eventListView->setTemplatePathAndFilename(\TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($conf['view']['templateRootPath']) . 'Event/List.html');
$eventListView->setLayoutRootPath(\TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($conf['view']['layoutRootPath']));
$eventListView->setPartialRootPath(\TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($conf['view']['partialRootPath']));
// Und das hier geht dann natürlich auch nicht
$eventListView = $eventListView->render();
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($eventListView, 'EventListView');
}
Vielleicht weiss ja jemand eine Lösung.
More information about the TYPO3-german
mailing list