Hallo zusammen.
Ist es möglich, die [b]Ausführung[/b] einer Datenbankabfrage zu verhindern, wenn eine bestimmte Bedingung gegeben ist?
Ich habe die Tabelle [i]pages[/i] um ein Feld ([i]tx_xyz_ansprechpartner[/i]) erweitert, das die UID eines [i]tt_address[/i]-Satzes enthalten kann. Damit kann ich einer Seite einen Ansprechpartner zuordnen. Bei der Ausgabe der Seite soll die Ansprechpartneradresse ermittelt und ausgegeben werden – aber nur, wenn das Feld gesetzt ist.
[b]Die Datenbankabfrage darf nur ausgeführt werden, wenn das Ansprechpartner-Feld gesetzt ist.[/b]
Es gelingt mir nicht, das richtig zu konfigurieren. Die Ausgabe wird zwar unterlassen, wenn das Feld nicht gesetzt ist, aber die DB-Abfrage wird durchgeführt, allerdings mit ungültigem SQL.
Hier ist mein TypoScript:
ansprechpartner = CONTENT ansprechpartner { # Dieses if wirkt auf die Ausgabe, aber nicht auf die SQL-Ausführung: table = tt_address select { # Alle Adressen sind in Ordner 285 oder in dessen Unterordnern: pidInList = 285 # Auch Unterordner durchsuchen: recursive = 99 # Wenn tx_xyz_ansprechpartner nicht gesetzt ist, gibt es # WHERE uid in () # und damit einen Fehler: andWhere { } } renderObj = COA renderObj { # Ausgabe des Adressdatensatzes… } }
[i]ansprechpartner.stdWrap.if…[/i] wird zu spät ausgeführt und wirkt darum nur auf die Ausgabe. Welche anderen Möglichkeiten gibt es? Ist [i]CONTENT[/i] überhaupt das Richtige? [i]RECORDS[/i] scheint mir allerdings nicht geeignet.
Danke für eure Hilfe!
Tosta