[Typo3-german] if Grundwissen
Torsten Schrade
schrade at lineara.de
Fri Dec 9 14:14:09 CET 2005
Andreas Zaugg schrieb:
> hallo zusammen
>
> habe noch eine wissenslücke bei den "if" abfragen. folgendes problem:
>
> 1) in "tmp.pidnumrows" steht eine zahl, unterschiedlich, je nach seite.
>
> 2) tmp.browsenext.value = next / Dieser Wert möchte ich nun verändern, wenn
> in "tmp.pidnumrows" die Zahl gröser als z.B. 8 ist.
>
> Also, ich denke ich habe da noch ein verständnis problem. wie muss ich das
> mit dem "isGreaterThan" anwenden?
>
Hi Andreas,
Zunächst allgemeine Info:
"'if' is normally used to decide whether to render an object or return a
value (see the cObjects and stdWrap)" (TSRef)
Das heißt, Du mußt "if" so anwenden, dass es entweder einen "override"
in tmp.browsenext auslöst oder nicht, je nachdem ob die gestellte
Bedingung kommt wahr zurück. Dazu musst Du den Wert von tmp.pidnumrows
an ensprechende Stelle in tmp.browsenext einkopieren. Also:
# der Vergleichswert
tmp.pidnumrows = TEXT
tmp.pidnumrows = 10
# das Standardobjekt
tmp.browsenext = TEXT
tmp.browsenext.value = next
# das überschreibende Objekt
tmp.browsenext.override.cObject = TEXT
tmp.browsenext.override.cObject.value = hello
# die Bedingung für das Überschreiben (wahr: überschreiben, unwahr:
nicht ausgeführt)
tmp.browsenext.override.if {
value = 8
isGreaterThan < tmp.pidnumrows
}
Ein bißchen verwirrend bei der "if" Funktion ist, dass man dazu tendiert
es falschrum (eiglt. richtigrum :) zu lesen: wenn Wert '8' isGreaterThan
'10' > würde eigtl. unwahr bedeuten. Es ist in TYPO aber genau andersrum
implementiert: 'isGreaterThan' bezieht sich immer auf den Wert in
'isGreaterThan' selbst. Daher ließt sich obige Bedingung von hinten: 10
isGreaterThan value 8 = wahr
So, und jetzt viel Spass. Um Kasper zu zitieren: "the "if"-function is a
very odd way of returning true or false! Beware!"
Gruss, Torsten
More information about the TYPO3-german
mailing list