[TYPO3-german] Problem mit isTrue

JoH asenau info at cybercraft.de
Tue Dec 16 11:16:42 CET 2008


> wo ist hier der Fehler?
>
> temp.INHALT {
>     table = tt_content
>     select {
>         orderBy = sorting
>         where = colPos=0
>         }
>     10 = COA
>     10 {
>         5=TEXT
>         5.if.isTrue.data = page:bodytext
>         5.data = page:header
>
>         10=TEXT
>         10.if.isTrue.data = page:bodytext
>         10.data = page:bodytext
> }
>
> Angezeigt wird immer alles, sowohl bodytext als auch header.
> Es soll aber nichts angezeigt werden, wenn der bodytext leer ist.
>
> Hab auch schon fieldRequired ausprobiert, aber nicht hinbekommen.

Da sind gleich mehrere Fehler drin, wobei der letzte die anderen gleich
wieder unwirksam macht:

1. page.bodytext gibt es nicht, vor allem dann nicht, wenn Du auf tt_content
zugreifst. Die Abfragen würden also immer FALSE zurückliefern.
2. (eher ein konzeptioneller Fehler hinsichtlich Performance) es reicht, per
stdWrap eine Abfrage für das gesamte COA zu machen.
3. ich nehme mal an, dass temp.INHALT ein cObject vom Typ CONTENT ist. Da
gibt es keine 10 { blah } sondern allenfalls ein renderObj. Da dieses
renderObj nicht explizit angegeben wird, zieht die TSFE automatisch das
Standard-Setup von tt_content und das kommt vermutlich aus
CSS-styled-content. Daher werden die Abfragen völlig ignoriert.

korrekt wäre z.B.:

temp.INHALT = CONTENT
temp.INHALT {
  table = tt_content
  select {
    orderBy = sorting
    where = colPos=0
  }
  renderObj = COA
  renderObj {
    stdWrap.fieldRequired = bodytext
    5=TEXT
    5.field = header
    10=TEXT
    10.field = bodytext
  }
}

HTH

Joey


-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
Xing: http://contact.cybercraft.de
T3 cookbook (2nd edition): http://www.typo3experts.com
Jobs: http://www.professionals-only.com




More information about the TYPO3-german mailing list