[TYPO3-german] Wrap Content Objekt C unterschiedlich, wenn Content Objekt A und B leer sind
thomas.buegel at web.de
thomas.buegel at web.de
Tue Aug 9 14:42:52 CEST 2011
Aaaauuuuaaaahhhhh!
Allmählich tuts weh. Seit gefühlten Wochen sitze ich hier an einem Problem, welches ich einfach nicht lösen kann. Es geht darum ein Content-Objekt ('normal_content') unterschiedlich zu wrappen, je nachdem ob andere Content-Objekte leer sind oder nicht.
Ich habe nun nach versuchen mit CASE und anderen Ansätzen eine Lösung gefunden, die fast funktioniert, aber eben nur fast. Hab aber immer noch keine Ahnung, wo der Fehler liegen könnte.
Zu prüfen ist ob das 'left_menu' in der linken Spalte einen Inhalt hat
temp.left_menu = HMENU
temp.left_menu {
entryLevel = 3
stdWrap.wrap = [...]
stdWrap.required = 1
1 = TMENU
[1,2,3...]
}
Außerdem ist zu prüfen ob Content in col=1 vorhanden ist
Dies erfolgt hier in dem Hilfsobjekt 'check_left_content', welches auch die Prüfung des 'left_menu' mit einbezieht.
temp.check_left_content sollte nur dann einen Inhalt haben, wenn temp.left_menu einen Inhalt hat oder Content in der linken Spalte vorhanden ist.
temp.check_left_content = COA
temp.check_left_content {
10 = CONTENT
10 {
[tt_content...select.where=col=1]
renderObj = TEXT
renderObj.value = 1
}
20 < temp.left_menu
}
hier wird der Content von col=0 erstellt als COA, und sollte mit id=1 gewrapt werden, wenn 'temp.check_left_content' leer ist, sonst mit id=2.
temp.normal_content = COA
temp.normal_content {
10 = CONTENT
10 {
stdWrap.required = 1
stdWrap.wrap = <div id="1">|</div>
stdWrap.if.isTrue.cObject < temp.check_left_content
stdWrap.if.negate = 1
[tt_content...]
}
20 = CONTENT
20 {
stdWrap.required = 1
stdWrap.wrap = <div id="2">|</div>
stdWrap.if.isTrue.cObject < temp.check_left_content
stdWrap.if.negate = 0
[tt_content...]
}
}
Das funktioniert nun fast. Wenn 'temp.check_left_content' leer ist funktioniert alles, so wie es soll und 'normal_content' wird mit id=1 gewrapt, alle vorhandenen und sichtbaren Content-Elemente mit col=0 werden gerendert.
Wenn dagegen 'temp.check_left_content' nicht leer ist, wird zwar 'normal_content' wie gewünscht mit id=2 gewrapt, doch es wird immer das letzte der vorhandenen und sichtbaren Content-Elemente mit col=0 nicht gerendert. Es fehlt also immer eines der Content-Elemente in Spalte 'normal'.
Ich habe jetzt schon viel ausprobiert, kann aber den Fehler nicht finden. Hat jemand eine Ahnung, wo da was falsch sein könnte??
Danke für die Unterstützung!
Gruß Thomas
More information about the TYPO3-german
mailing list