[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