Das Erzeugen eines StandaloneView (z.B. für Template-basierte E-Mails) hat sich seit TYPO3 Version 7.3 vereinfacht.

$standaloneView = GeneralUtility::makeInstance(StandaloneView::class);
$standaloneView->setLayoutRootPaths(
	array(GeneralUtility::getFileAbsFileName('EXT:my_ext/Resources/Private/Layouts'))
);
$standaloneView->setPartialRootPaths(
	array(GeneralUtility::getFileAbsFileName('EXT:my_ext/Resources/Private/Partials'))
);
$standaloneView->setTemplateRootPaths(
	array(GeneralUtility::getFileAbsFileName('EXT:my_ext/Resources/Private/Templates'))
);
$standaloneView->setTemplate('Email/Reminder');
$emailBody = $standaloneView->render();

Bislang (TYPO3 Version 6.2 LTS) war nachfolgendes Vorgehen erforderlich. Hier konnten zwar partialRootPath und layoutRootPath gesetzt werden, aber das Template musste absolut angegeben werden.

$standaloneView = $this->objectManager->get('TYPO3\CMS\Fluid\View\StandaloneView');
$standaloneView->setLayoutRootPath(
	GeneralUtility::getFileAbsFileName('EXT:my_ext/Resources/Private/Layouts')
);
$standaloneView->setPartialRootPath(
	GeneralUtility::getFileAbsFileName('EXT:my_ext/Resources/Private/Partials')
);
$standaloneView->setTemplatePathAndFilename(
    GeneralUtility::getFileAbsFileName('EXT:my_ext/Resources/Private/Templates/Email/Reminder.html')
);
$emailBody = $standaloneView->render();




Kommentare