2016-08-03 57 views
1

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

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.

+0

Ha, stellt sich heraus, dass Sie Recht haben. Ich habe meinen Code im Kontext von StandaloneView verwendet. – j4k3