Ist-Situation: Ein Content-Element wird für alle Sprachen ausgegeben
… enthält jedoch Inhalte, die in zwei Sprachen ausgeschlossen werden sollen. Das Content-Element wird immer am Ende jeder Seite gerendert. Folgendes TypoScript lädt den Inhalt:
page.20 = CONTENT page.20 { table = tt_content select.orderBy = sorting select.languageField = sys_language_uid select.where = colPos = 6 slide = -1 slide.collect = 0 collectReverse = 1 } |
„colPost = 6“ zeigt, dass hier ein 7-spaltiges Backend-Layout ist und das Content-Element aus der letzten Spalte genommen wird :).
Soll: Der Inhalt des Content-Elements soll für die zwei Sprachen nicht ausgegeben werden
Dazu setze ich die Bedingung für die Sprache und habe mir ein TypoScript-Snippet aus der Doku zunutze gemacht und angepasst:
[globalVar = GP:L = 1] || [globalVar = GP:L = 2] page.20.renderObj.stdWrap.if { isInList.field = uid value = 328 negate = 1 } [global] |
Da für beide Sprachen der Inhalt nicht gerendert werden soll kann man prima mittels einer ODER-Verknüpfung (||) dafür sorgen, dass man das TypoScript nur einmal schreiben muss. Etwas ungewohnt erscheint mir jedoch der Code innerhalb der Bedingung, der soviel sagt wie: Wenn die uid mit dem Value „328“ vorhanden ist, dann nicht (negate = 1) rendern. Das Snippet stammt von hier: http://typo3.org/documentation/snippets/sd/100/.
Alternative Lösungsvorschläge? Her damit!
PS: Die UID des Content-Elements erhält man übrigens recht einfach, wenn man mit der Maus über den Typ des Content-Feldes fährt:
Ein Gedanke zu „Content-Element mit TypoScript für spezielle Sprache nicht rendern“