在我的分机中,我有singleAction
方法。我想在这个方法中更改模板,因为我有2个模板用于单个操作。可能吗?如果不可能,我该如何解决这个问题?也许会产生另一个动作?
答案 0 :(得分:3)
设置模板并不那么简单。 setTemplate
和getTemplate
不存在于视图中。
您可以恢复为独立视图实现,该实现支持使用setTemplatePathAndFilename
(从Ludwig复制的示例)
/**
* 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!'));
您还可以使用typoscript切换到其他模板。
plugin.tx_yourpluginname.view.templateRootPaths = EXT:extension_name/Resources/Private/CustomPath/Templates/
这可以放入你想要的任何打字条件。
答案 1 :(得分:0)
处理此问题的最佳方法是简单地在操作模板中进行切换,以加载不同的部分。这样,整个逻辑流程将保持完整,并且以后需要编辑代码的每个人都可以立即理解。