Hallo zusammen,
ich habe eine kurze Frage.
Bei Extbase sind die Templates ja relativ strikt vorgegeben. Sie liegen in einem bestimmten Ordner der per TS angegeben werden kann und das Tpl selber heißt wie seine Action.
Den Template Pfad könnte ich so ändern:
plugin.tx_meineextension.view.templateRootPath
Ich würde aber gerne nur EIN einziges Template bearbeiten und daher auslagern. Geht das? Derzeit habe ich alle Templates in den Fileadmin kopiert und den Template Pfad umgebogen. Allerdings habe ich dort nun 5 Templates liegen und lediglich 1 Template muss editiert werden.
Kann ich da auch direkt ein bestimmtes Template ansprechen?
Ist glaube ich noch nicht implementiert. Siehe hier:
https://forge.typo3.org/issues/39868
Und wie´s aussieht kann das noch ein wenig dauern ;-)
Hallo,
als Notlösung:
class Tx_MyExt_Controller_AbstractActionController extends Tx_Extbase_MVC_Controller_ActionController {
/**
* @param Tx_Extbase_MVC_View_ViewInterface $view
* @return void
*/
protected function setViewConfiguration(Tx_Extbase_MVC_View_ViewInterface $view) {
parent::setViewConfiguration($view);
$this->setCustomTemplate($view);
}
/**
* @param Tx_Extbase_MVC_View_ViewInterface $view
*/
protected function setCustomTemplate(Tx_Extbase_MVC_View_ViewInterface $view) {
$template = $this->settings[$this->request->getControllerName()][$this->request->getControllerActionName()]['template'];
if($templateFile = t3lib_div::getFileAbsFileName($template)) {
if(file_exists($templateFile)) {
$view->setTemplatePathAndFilename($templateFile);
}
}
}
}
plugin.tx_myextkey.settings.mycontollername.myactionname.template = fileadmin/templates/mycustomtemplate.html
VG,
LuP
Hallo,
wie wäre es denn, einen Wert ins TypoScript-Template zu schreiben
plugin,tx_myext.settings {
mytemplate = einspalter
}
und diesen dann im Fluid-Template mit einer if-condition abzufragen.
<f:if condition="{0:settings.mytemplate} == {O:'einspalter'}">
</f:if>
Gruß
Thorsten