Ich vermute du hast ihn felinterpretiert. :)
Es benoetigt in der Summe grob yberschlagen Aenderungen an 4-5 Stellen.
Die von mir gepostete Routine ist aus der Klasse Controller und wird von allen Extensions/core Modulen verwendet um das Template zu lokalisieren.
Wenn eine Extension HTML5 verwenden will, dann nutzt sie den zusaetzlichen Parameter und gibt hierbei dann das gewynschte Outputformat mit ('tpl' = fallback bzw. bisheriges "xhtml", 'tpl5' = HTML5, 'xml' = XML, 'tex' = TeX, ...).
Wer sowieso aktuell kein anderes Format benoetigt/bereitstellen kann als xhtml, der bleibt ohnehin beim momentanen Code.
Das zu verwendende Output Format koennte hierbei nun von einem Setting in TL_CONFIG definiert werden was dann bedeutet: "Benutze bitte HTML5 aber wenn das nicht da ist, dann nimm den Fallback."
In Extensions kann man die Parameter dann ggf. auch noch an die Frontend/BackendTemplates mitgeben, womit dann mehr Konstellationen moeglich sind.
- Benutze bitte XHTML fallback (Parameter $strTemplate).
- Benutze bitte HTML5 aber wenn das nicht da ist, dann nimm den Fallback (Parameter $strTemplate && $strTemplateSuffix).
- Benutze bitte nur HTML5 und schmeisse eine Exception wenn nicht gefunden (Parameter $strTemplate, $strTemplateSuffix && $blnMustBeNative).
Man koennte in obiger Implementierung noch weiter gehen, und den Initialwert von $strTemplateSuffix direkt aus TL_CONFIG lesen (was dann ggf. in der PageRegular auf ein aktuelles Setting fyr den aktuellen page root yberschrieben wird). Dann sind wir noch kompatibler.
betr. zusaetzlicher Parameter: siehe in meinem Code: $blnMustBeNative welcher dieses Forcieren eines Ausgabeformats realisiert.
Extensionweite Option wird es wohl weniger geben, jedoch kann man das am pageRoot bzw. Seitenlayout/Seite aufhaengen.