Typo3 template abhängig von Spalteninhalt verändern

Tagged Typo3

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
		}
	}
}

1 Comment

  • [...] 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 } } } [...]

Leave a Reply

Your email is never shared. Required fields are marked *

*
*