Zum Inhalt springen

Verständnisproblem bei Datenbankabfragen mit ifTrue.numRows

Erstellt am 14. November 2012 · 1 Antwort · letzte Antwort am 16. November 2012

Tags: Seiten & Seitenbaum, Frage

DrMario ·

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:

home
- a
  - a1
    - a1i
      - a1ix
      - a1iy
    - a1ii
  - a2
- b
  - b1
  - 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:

10 = COA
10 {
	if.isTrue.numRows {
		table = pages
		select {
			pidInList.data = leveluid: 4
			where = NOT hidden AND NOT deleted AND NOT nav_hide
		}
	}
	10 = TEXT
	10.value = valid
}

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