Typo3 template abhängig von Spalteninhalt verändern
Angenommen, wir möchten eine andere template-Datei benutzen, je nachdem ob in einer Spalte Inhalte vorhanden sind. Dies ist mit Typo3 relativ einfach zu erreichen:
tmp.templateDatei = COA tmp.templateDatei { 10 = COA 10 { if.isFalse.numRows < styles.content.getRight 10 = FILE 10 { file = fileadmin/template/1spalte.html } } 20 = COA 20 { if.isTrue.numRows < styles.content.getRight 10 = FILE 10 { file = fileadmin/template/2spalten.html } } }
Die ifs prüfen ob in der rechten Spalte Inhalte sind oder nicht. Das COA gibt dann ein cObject vom korrekten Typen zurück, FILE in unserem Fall.
Im zentralen typoscript soll dann so etwas stehen wie:
page.10.template < tmp.templateDatei
Üblicherweise würde man eher etwas wie folgt notieren:
page { 10 = TEMPLATE 10 { template = FILE template { file = fileadmin/template/1spalte.html } } }
[...] Diesen Artikel auf deutsch Let’s assume you don’t just want to inject some HTML if there is content in a column, but you want to use a completely different layout. This isn’t hard to accomplish, see the example: tmp.templateFile = COA tmp.templateFile { 10 = COA 10 { if.isFalse.numRows < styles.content.getRight 10 = FILE 10 { file = fileadmin/template/1col.html } } 20 = COA 20 { if.isTrue.numRows < styles.content.getRight 10 = FILE 10 { file = fileadmin/template/2col.html } } } [...]