Verständnisproblem bei Datenbankabfragen mit ifTrue.numRows

  • DrMario DrMario
    T3PO
    0 x
    21 Beiträge
    0 Hilfreiche Beiträge
    14. 11. 2012, 12:38

    Hallo zusammen,

    ich komme mit der ifTrue.numRows-Anweisung bzw. den darin enthaltenen Elementen nicht klar. Grundsätzlich würde es mir erstmal schon genügen, das daraus entstandene SQL-Statement einmal in seiner Gänze zu sehen, aber daran scheitere ich auch.

    Zum eigentlichen Problem:
    Ich will einen Text (innerhalb eines COAs) ausgeben, sofern eine Seite Unterseiten hat und die Seite selbst auf einem bestimmten (oder einem tieferen) Level im Seitenbaum sitzt.
    Also Seitenbaum-Beispiel:

    1. home
    2. - a
    3. - a1
    4. - a1i
    5. - a1ix
    6. - a1iy
    7. - a1ii
    8. - a2
    9. - b
    10. - b1
    11. - b2

    Es soll auf ein TEXT-Objekt (in TypoScript) geschrieben werden, wenn wir uns aktuell auf Ebene 3 oder tiefer (also ab a1i bzw. a1ii) befinden und die aktuelle Seite Unterseiten hat (konkret trifft das ausschließlich auf a1i zu).

    Meine Versuche sehen unterschiedlichst aus, ich bin aber der Meinung, dass ich damit eigentlich schon recht nahe dran bin:

    1. 10 = COA
    2. 10 {
    3. if.isTrue.numRows {
    4. table = pages
    5. pidInList.data = leveluid: 4
    6. where = NOT hidden AND NOT deleted AND NOT nav_hide
    7. }
    8. }
    9. 10 = TEXT
    10. 10.value = valid
    11. }

    Das Problem ist jetzt, dass das überall greift, außer auf Seitensträngen ab der Ebene 4, also im Beispiel zeigt mir der Text immer valid an, außer bei a1ii (und Seiten dort darunter) und home.

    Die ifsub-Version in Menu-Objekten hilft mir übrigens im konkreten Fall nicht, weil es bei der TEXT-Ausgabe nicht (nur) um Menüs geht.

    Weiß jemand Rat?

    Danke und lg,
    Mario


  • 1
  • neotron neotron
    Padawan
    0 x
    37 Beiträge
    0 Hilfreiche Beiträge
    16. 11. 2012, 12:08

    Hallo,

    vieleicht helfen Conditions

    [entryLevel = 0,1,2,3]
    mach das
    [else]mach dies
    [global]

  • 1