hallo allesamt,
ich würde gerne BEVOR DURCH EIN BESTIMMTES CONTENT OBJEKT EINE DB-ABFRAGE AUSGEFUEHRT WIRD abfragen, ob ein bestimmter get-parameter in der URL vorhanden ist - ich schätze, das wär sinnvoll, damit, falls die DB-abfrage keinen sinn macht (weil in meinem beispiel wenn der get-parameter nicht gesetzt ist die abfrage kein ergebnis zurückliefern kann), die abfrage nicht sinnloserweise durchgeführt wird...
page {
20 = CONTENT
20 {
if {
### hier habe ich schon alles moegliche ausprobiert...
}
table = tx_produkte
select {
pidInList = 21
andWhere.stdWrap.cObject = TEXT
andWhere.stdWrap.cObject.data = GPVar:uid
andWhere.stdWrap.cObject.wrap = uid = |
}
renderObj = COA
renderObj {
10 = TEXT
10 {
field = bezeichnung
wrap = <h1> | </h1>
}
}
}
}
hmm, das hab ich schon erfolglos ausprobiert...
kann es sein, dass egal ob die if-abfrage true oder false liefert, die datenbank-abfrage auf alle fälle durchgeführt wird und in meinem beispiel nur das objekt 20 nicht mit dem ergebnis der abfrage gefüllt wird?
...ich bekomm nämlich, wenn der get-parameter nicht gesetzt ist eine SQL-fehlermeldung, die wohl zu verhindern wär, wenn die abfrage nur dann ausgeführt wird, wenn der get-parameter gesetzt ist.
du kannst das if auch nicht direkt auf CONTENT machen, da brauchst noch ein stdWrap. davor.
auf der sichersten seite ist man da immer
mit
lib.foo = COA
lib.foo {
stdWrap.if.isTrue.data = ..
10 = CONTENT
10 {
dein content
}
}
hmm, SQL-fehlermeldung bleibt trotzdem...
page {
20 = COA
20 {
stdWrap.if.isTrue.data = GPVar:uid
10 = CONTENT
10 {
table = tx_produkte
select {
pidInList = 21
andWhere.stdWrap.cObject = TEXT
andWhere.stdWrap.cObject.data = GPVar:uid
andWhere.stdWrap.cObject.wrap = uid = |
}
renderObj = COA
renderObj {
10 = TEXT
10 {
field = bezeichnung
wrap = <h1> | </h1>
}
}
}
}
}
...kann es sein, dass egal ob die abfrage TRUE oder FALSE als ergebnis liefert die abfrage immer ausgeführt wird?