Templates ein extbase Ext in den "fileadmin" verlagern?! Aber wie???

  • jimmykimmy jimmykimm...
    Padawan
    0 x
    59 Beiträge
    0 Hilfreiche Beiträge
    02. 11. 2012, 08:42

    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?


  • 1
  • kainobi kainobi
    Jedi-Ritter
    0 x
    141 Beiträge
    0 Hilfreiche Beiträge
    02. 11. 2012, 12:49

    Ist glaube ich noch nicht implementiert. Siehe hier:
    https://forge.typo3.org/issues/39868

    Und wie´s aussieht kann das noch ein wenig dauern ;-)

  • LuP LuP
    Jedi-Meister
    0 x
    496 Beiträge
    1 Hilfreiche Beiträge
    02. 11. 2012, 13:46

    Hallo,

    als Notlösung:

    1. class Tx_MyExt_Controller_AbstractActionController extends Tx_Extbase_MVC_Controller_ActionController {
    2.  
    3. /**
    4.   * @param Tx_Extbase_MVC_View_ViewInterface $view
    5.   * @return void
    6.   */
    7. protected function setViewConfiguration(Tx_Extbase_MVC_View_ViewInterface $view) {
    8. parent::setViewConfiguration($view);
    9. $this->setCustomTemplate($view);
    10. }
    11.  
    12. /**
    13.   * @param Tx_Extbase_MVC_View_ViewInterface $view
    14.   */
    15. protected function setCustomTemplate(Tx_Extbase_MVC_View_ViewInterface $view) {
    16. $template = $this->settings[$this->request->getControllerName()][$this->request->getControllerActionName()]['template'];
    17.  
    18. if($templateFile = t3lib_div::getFileAbsFileName($template)) {
    19. if(file_exists($templateFile)) {
    20. $view->setTemplatePathAndFilename($templateFile);
    21. }
    22. }
    23.  
    24. }
    25. }

    1. plugin.tx_myextkey.settings.mycontollername.myactionname.template = fileadmin/templates/mycustomtemplate.html

    VG,
    LuP

  • monk21 monk21
    T3PO
    0 x
    12 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2012, 16:18

    Hallo,

    wie wäre es denn, einen Wert ins TypoScript-Template zu schreiben

    1. plugin,tx_myext.settings {
    2. mytemplate = einspalter
    3. }

    und diesen dann im Fluid-Template mit einer if-condition abzufragen.
    1. <f:if condition="{0:settings.mytemplate} == {O:'einspalter'}">
    2. </f:if>

    Gruß
    Thorsten

  • 1