2016-08-03 10 views
1

私の内線で私はsingleActionメソッドを持っています。私は単一のアクションのための2つのテンプレートを持っているので、私はこのメソッド内のテンプレートを変更したい。出来ますか?それが不可能な場合、どうすればこの問題を解決できますか?別のアクションを生成する可能性がありますか?TYPO3テンプレート内のアクション方法を変更

答えて

3

テンプレートを設定するのは簡単ではありません。 setTemplateおよびgetTemplateはビューに存在しません。 あなたはまた、TypoScriptを持つ別のテンプレートに切り替えることができsetTemplatePathAndFilename

の使用をサポートしていstandaloneviewのimplemtation、(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!')); 

に戻すことができます。

plugin.tx_yourpluginname.view.templateRootPaths = EXT:extension_name/Resources/Private/CustomPath/Templates/ 

これは任意のtyposcript条件に入れることができます。

+0

あなたが正しいと分かります。私はStandaloneViewのコンテキストで自分のコードを使用しました。 – j4k3

関連する問題