Zum Inhalt springen

[TsRef Conditions] 2 Bedingungen setzen

Erstellt am 3. November 2003 · 11 Antworten · letzte Antwort am 8. März 2006

Tags: Frage

sw-student ·

Hallo,

schlage mich nun seit geraumer Zeit mit dem Problem herum, 2 Bedingungen für einen Codeblock zu setzen.

In der TsRef steht als Beispiel:

This matches with all 4+ browsers and netscape 3 browsers
[version= >4][browser= netscape3]

Nun möchte ich dies auf meinen Code anwenden:

[globalVar = GP:L = 0] [usergroup = *]
...
[else]
...
[end]

Muss da jetzt noch ein [global] folgen? wenn ja an welcher stelle? wo lieg ich mit meinem code falsch?

picrasso ·

Hi,

also ein Global am Ende ist meiner Meinung nach nicht nötig/richtig.

Habe mir die Conditions eben auch mal angeguckt, weil ich für Unterseiten den Titel der Seite + der Vaterseite mit nem // dazwischen haben wollte. Aber eben nur für diese Unterseiten. Und es klappt. Mein Code sieht so aus:

[treeLevel = 2]
seite.10.marks.SEITENTITEL = TEXT
seite.10.marks.SEITENTITEL.data = leveltitle : 1
seite.10.marks.TRENNER = TEXT
seite.10.marks.TRENNER.value = //
[else]
seite.10.marks.SEITENTITEL = TEXT
seite.10.marks.TRENNER = TEXT
[end]

Also von der Syntax her wie bei dir.

sw-student ·

Hast du gesehen, dass ich zwei Bedingungen setzen möchte?

In C würde es folgendermaßen aussehen:

if (L=1 && usergroup=*)
{ ... }
else
{ ... }

<EDIT>
Es muss natürlich L==1 heißen :o
</EDIT>

picrasso ·

ja, aber d.h. doch dann nur, dass eben beide erfüllt werden müssen.
also beide true wie in dem c - bespiel '&&'

picrasso ·

was wird denn ausgeführt? der if oder der else-zweig oder keiner? momentan bin ich auch noch ratlos. vermute, dass was mit den bedingungen (syntax??? kenn mich da noch nicht gut aus) nicht stimmt.

sw-student ·

Hab das Prob schonmal in nem Thread geschildert. Hier steht der konkrete Code drin:
#6779

Hab schon zig verschiedene Kombinationen ausprobiert. Mir fällt jetzt keine mehr ein.

matrikz ·

Versuch mal folgendes:

[globalVar = GP:L = 0] && [usergroup = *]
...
[else]
...
[end]

Ich meine mal gelesen zu haben, dass man so eine UND-Verknüpfung erzielen kann.

Ciao Thomas

sw-student ·

Hui, das wäre ja super! Werd's gleich mal testen. Hab's zwar mittlerweile schon anders gelößt (--> siehe verlinkter thread), aber wäre fein, wenn es diese Möglichkeit ebenfalls gäbe.

sw-student ·

Schade ... funktioniert so nicht. Hab jetzt festgestellt, dass es in meinem Fall so garnicht geht. Die Bedingung [globalVar = GP:L = 1] muss ja für die komplette Schleife gelten.
Es müssten also 2 Schleifen ineinander sein:

[globalVar = GP:L = 1]
{
[usergroup=*]
...
[else]
...
[end]
}
[global]

Kann doch nicht sein, dass eine verschachtelte If Bedinung in Typo3 nicht zu realisieren ist.

bnai ·

Hallo,

habe gerade das gleiche Problem.... hat hierzu jemand eine Löung gefunden? Es muß doch eine UND Verknüpfung zu realisieren sein, das gibts doch gar nicht...

nex ·

hol dir die extension "conditions". dann kannst du welche im ts verwenden. klappt wunderbar.