Zum Inhalt springen

If-else Anweisung in TS anhand von HTTP_GET_VARS

Erstellt am 12. Januar 2004 · 6 Antworten · letzte Antwort am 12. Januar 2004

Tags: Frage

Unbekannter Benutzer ·

Hallo Leute,

rätsele etwas an der korrekten Schreibweise, um anhand eines übergebenen Parameters einen Rücksprung-Link in Typoscript zu bauen ...

Ich befinde mich auf Treelevel 1 und klicke auf einen Link, dieser hat meinen Parameter, die nun aufgerufene Seite soll anhand des Parameters über Typoscript einen "Zurück-Link" bauen, der auf die Seite im Treelevel 1 verweißt. Ist der übergebene Parameter nicht vorhanden, soll auf eine Standardseite im Treelevel 3 verwiesen werden ...

Mir fehlt einfach die Typoscript-Anweisung, um eine vernünftige If-Else-Anweisung nach Unterscheidung Parameter "da/nicht da" zu bauen ...

Mal ein dummes Bsp.:

[HIER IF-Anweisung für Query -> global:uz]
        subparts.xyz = TEXT
        subparts.xyz.data = global:uz
        subparts.xyz.insertData = 1
    [else]
        subparts.xyz.data = leveluid : 3
        subparts.xyz.insertData = 1
    [end]

...

Grüße,
Commodore

maxhb ·

Hi!

[globalString HTTP_GET_VARS|DEINEVARIABLEAUSDERURL]
        subparts.xyz = TEXT
        subparts.xyz.data = global:uz
        subparts.xyz.insertData = 1
    [else]
        subparts.xyz.data = leveluid : 3
        subparts.xyz.insertData = 1
    [end]

...

CU
maxhb

P.S.: Schau mal in die TSREF, Stichwort "Condition Reference"

Unbekannter Benutzer · · Beste Antwort

[globalString HTTP_GET_VARS|uz]
# [globalVar = GP:uz > 0]
subparts.DETAILKARTE.data = global:uz
# [else]
# subparts.DETAILKARTE.data = leveluid : 3
[end]

Wenn ich den else-Teil wieder in die Funktion reinnehme, wird mir trotz vorhandenem Parameter "uz" der else-Teil in den Zurück-Link eingebaut ... auch mit [globalVar = GP:uz > 0] funzt das nicht ... dabei ist die Abfrage doch richtig ...!?!?

Kann das sein, dass es irgendwie am .data liegt?

maxhb ·
Commodore schrieb

[globalString HTTP_GET_VARS|uz]
# [globalVar = GP:uz > 0]
subparts.DETAILKARTE.data = global:uz
# [else]
# subparts.DETAILKARTE.data = leveluid : 3
[end]

Kann das sein, dass es irgendwie am .data liegt?

Ich würde mal Tippen, dass Du da irgendeine Bedingung hinterlegen solltest, wie z.B.

[globalString HTTP_GET_VARS|uz = 1]

Sonst wird es schwer mit der Else 😉

CU maxhb

Unbekannter Benutzer ·

[​quote="maxhb"][​quote="Commodore"]

Sonst wird es schwer mit der Else 😉

Nee, nee - hier -> [globalVar = GP:uz > 0] ist die Bedingung schon drinne, funzt ebenso wie dein Vorschlag, aber nur, wenn else auskommentiert ist ... aber egal, auch mit = 1 geht´s nicht ... muss wohl am .data liegen, dass wohl überschrieben wird ...

maxhb ·
Commodore schrieb

Nee, nee - hier -> [globalVar = GP:uz > 0] ist die Bedingung schon drinne, funzt ebenso wie dein Vorschlag, aber nur, wenn else auskommentiert ist ... aber egal, auch mit = 1 geht´s nicht ... muss wohl am .data liegen, dass wohl überschrieben wird ...

Und ich hätte schwören können, die Bedingung ist auskommentiert....

CU
maxhb

P.S.: Ausserdem globalVar != globalString

Unbekannter Benutzer ·

[​quote="maxhb"]

Commodore schrieb

P.S.: Ausserdem globalVar != globalString

Das ist schon richtig! Funzt dennoch, ich bekomme meinen Query ... und ja auch richtig: ich hatte die globalVar-Zeile oben in meinem Bsp. auskommentiert, nur dazu geschrieben, dass ich es damit auch schon versucht habe ... aber egal ... nichts für ungut, bin ja schon auf dem richtigen Weg! Thx!