In meinem ext habe ich singleAction
Methode. Ich möchte die Vorlage in dieser Methode ändern, da ich 2 Vorlagen für eine einzelne Aktion habe. Ist es möglich? Wenn es unmöglich ist, wie kann ich dieses Problem lösen? Vielleicht eine andere Aktion generieren?TYPO3 Wechsel Vorlage innerhalb Aktionsmethode
1
A
Antwort
3
Es ist nicht so einfach, eine Vorlage festzulegen. Die setTemplate
und getTemplate
sind in der Ansicht nicht vorhanden. Sie könnten zu einem standaloneview implemtation zurückkehren, die die Verwendung von setTemplatePathAndFilename
/**
* Renders the fluid email template
* @param string $template
* @param array $assign
* @return string
*/
public function renderFluidTemplate($template, Array $assign = array()) {
$templatePath = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName('EXT:myextension/Resources/Private/Templates/' . $template);
$view = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Fluid\\View\\StandaloneView');
$view->setTemplatePathAndFilename($templatePath);
$view->assignMultiple($assign);
return $view->render();
}
echo renderFluidTemplate('mail.html', array('test' => 'This is a test!'));
Sie auch zu einer anderen Vorlage wechseln könnten mit TypoScript (Beispiel aus Ludwig kopiert) unterstützt.
plugin.tx_yourpluginname.view.templateRootPaths = EXT:extension_name/Resources/Private/CustomPath/Templates/
Und das kann in jede TypoScript-Bedingung, die Sie wollen, gesetzt werden.
Ha, stellt sich heraus, dass Sie Recht haben. Ich habe meinen Code im Kontext von StandaloneView verwendet. – j4k3