TYPO3 7.6. Templates Form-Extension überschreiben

Seit TYPO3 Version 7 ist die Systemextension Form auf Fluid-Templates umgestellt. Ich habe lange gesucht, wie man nun die Template-Pfade ändert und habe nichts gefunden. In der alten Version der Form-Extension ging es über die Angabe von layout in den Settings. Ich hatte einen Beitrag dazu geschrieben, wie man die Ausgabe an das vom Foundation Framework gewünschte HTML anpasst.

Nun können die Templates wie bei anderen Extensions auch überschrieben werden. Man braucht folgende Konfiguration im Setup:

plugin.tx_form {
	view.partialRootPaths.20 = EXT:my_extension/Resources/Private/Templates/Form/Partials/
	view.templateRootPaths.20 = EXT:my_extension/Resources/Private/Templates/Form/Templates/
}

Man kann den Pfad theoretisch auch in den Konstanten setzen, da die Variable aber direkt ins Setup übernommen wird und ich keine Vererbung erkennen kann, habe ich mich für den Weg entschieden.

Nun braucht man folgende Ordnerstruktur:
EXT:my_extension/Resources/Private/Templates/Form/Partials/Default/Show/FlatElements
d.h. wenn ich z.B. die Ausgabe der Radiobuttons anpassen will, muss ich unter dem genannten Pfad die Datei Radio.html ablegen. Der Pfad zur Datei lautet also vollständig:
EXT:my_extension/Resources/Private/Templates/Form/Partials/Default/Show/FlatElements/Radio.html

1 Kommentar

  1. Danke für deinen Beitrag. Wir arbeiten gerade massiv an der Doku der neuen Version. In Bälde wird auch alles ordentlich dokumentiert sein.

    Ein wichtiger Hinweis. Alle .layout Funktionen (wie in dem anderen Beitrag dargestellt) sollten in TYPO3 7 nicht mehr genutzt werden. Hier gab und gibt es diverse Probleme und mit der Einführung der Fluid Templates ist das Thema obsolet.

    Ich empfehle, per TS explizit den compatibilityModus auf 0 zu setzen, so dass man wirklich die Templates aus dem Default Theme nehmen kann. Würde man nämlich .layout verwenden (bspw. bei Update Projekten) und compatibilityModus ist 1 (das ist der Standard), dann wären die Fluid Pfade nicht /Default sondern /Compatibility.