Typo3 - TSRef

Aus Wikizone
Version vom 20. Mai 2008, 14:21 Uhr von 91.47.53.216 (Diskussion) (→‎globalVars)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

TSRef Kurzreferenz[Bearbeiten]

Conditions[Bearbeiten]

browser[Bearbeiten]

[browser = browser1,browser2,...] Beispiel:

      [ useragent = *Firefox* ] OR [ useragent = *Opera* ]
      [ useragent = *MSIE* ] AND [ useragent = *Windows* ] 

Werte: Jeder Wert wird mit $browsername.$browserversion (z.B. netscape4.72) mithilfe von strstr() verglichen. Ob der Wert also netscape, oder nur scape oder net ist, alle Netscape-Browser werden von dieser Bedingung betroffen. Ist der Wert netscape4 werden alle Netscape 4.xx-Browser betroffen.

Wenn einer der Werte in der Liste mit dem aktuellen Browser übereinstimmt, liefert diese Bedingung wahr zurück.

version[Bearbeiten]

Beispiel

[version= >4] && [browser= netscape3]

system[Bearbeiten]

Die Werte sind Strings und die Bedingung ist erfüllt, wenn einer der Strings zum Anfang der Systemidentifikation gehört. Wenn der Wert also zum Beispiel win9 ist, betrifft das sowohl win95- als auch win98-Systeme. Beispiel

Dies betrifft sowohl Windows- als auch Mac-Systeme.

[system= win,mac]

device[Bearbeiten]

HandHeld


pda

WAP-Handy


wap

Grabber


grabber

Indizierungs-Robots


robot

Die Werte sind Strings und die Bedingung gilt als erfüllt, wenn einer dieser Werte dem Gerätetyp entspricht.

useragent[Bearbeiten]

Dies ist ein direkter Vergleich des useragent-Strings von getenv("HTTP_USER_AGENT"). Sie können ein * an den Anfang und/oder ans Ende des Wertes setzen, um Platzhalter einzubauen. Beispiele

Wenn der HTTP_USER_AGENT den Wert Mozilla/4.0 (compatible; Lotus-Notes/5.0; Windows-NT) hat, wird folgende Bedingung zutreffen: [useragent = Mozilla/4.0 (compatible; Lotus-Notes/5.0; Windows-NT)]

Diese Bedingung wird auch zutreffen: [useragent = *Lotus-Notes*]

Diese Bedingung wird allerdings auch auf einen Useragent wie Lotus-Notes/4.5 ( Windows-NT ) zutreffen.

Hier eine kurze Liste von Useragents und zugehörigen Bedingungen

HTTP_USER_AGENT


Beschreibung


Zutreffende Bedingung

Nokia7110/1.0+(04.77)


Nokia 7110 WAP-Handy


[useragent= Nokia7110*]

Lotus-Notes/4.5 ( Windows-NT )


Lotus-Notes-Browser


[useragent= Lotus-Notes*]

Mozilla/3.0 (compatible; AvantGo 3.2)


AvantGo-Browser


[useragent= *AvantGo*]

Mozilla/3.0 (compatible; WebCapture 1.0; Auto; Windows)


Adobe Acrobat 4.0


[useragent= *WebCapture*] WAP-Useragents

Hier sind einige der bekannten WAP-Useragents:

   * ALAV UP/4.0.7
   * Alcatel-BE3/1.0 UP/4.0.6c
   * AUR PALM WAPPER
   * Device V1.12
   * EricssonR320/R1A
   * fetchpage.cgi/0.53
   * Java1.1.8
   * Java1.2.2
   * m-crawler/1.0 WAP
   * Materna-WAPPreview/1.1.3
   * MC218 2.0 WAP1.1
   * Mitsu/1.1.A
   * MOT-CB/0.0.19 UP/4.0.5j
   * MOT-CB/0.0.21 UP/4.0.5m
   * Nokia-WAP-Toolkit/1.2
   * Nokia-WAP-Toolkit/1.3beta
   * Nokia7110/1.0 ()
   * Nokia7110/1.0 (04.67)
   * Nokia7110/1.0 (04.67)
   * Nokia7110/1.0 (04.69)
   * Nokia7110/1.0 (04.70)
   * Nokia7110/1.0 (04.71)
   * Nokia7110/1.0 (04.73)
   * Nokia7110/1.0 (04.74)
   * Nokia7110/1.0 (04.76)
   * Nokia7110/1.0 (04.77)
   * Nokia7110/1.0 (04.80)
   * Nokia7110/1.0 (30.05)
   * Nokia7110/1.0
   * PLM's WapBrowser
   * QWAPPER/1.0
   * R380 2.0 WAP1.1
   * SIE-IC35/1.0
   * SIE-P35/1.0 UP/4.1.2a
   * SIE-P35/1.0 UP/4.1.2a
   * UP.Browser/3.01-IG01
   * UP.Browser/3.01-QC31
   * UP.Browser/3.02-MC01
   * UP.Browser/3.02-SY01
   * UP.Browser/3.1-UPG1
   * UP.Browser/4.1.2a-XXXX
   * UPG1 UP/4.0.7
   * Wapalizer/1.0
   * Wapalizer/1.1
   * WapIDE-SDK/2.0; (R320s (Arial))
   * WAPJAG Virtual WAP
   * WAPJAG Virtual WAP
   * WAPman Version 1.1 beta:Build W2000020401
   * WAPman Version 1.1
   * Waptor 1.0
   * WapView 0.00
   * WapView 0.20371
   * WapView 0.28
   * WapView 0.37
   * WapView 0.46
   * WapView 0.47
   * WinWAP 2.2 WML 1.1
   * wmlb
   * YourWap/0.91
   * YourWap/1.16
   * Zetor


language[Bearbeiten]

Die Werte müssen eine exakte Übereinstimmung mit getenv("HTTP_ACCEPT_LANGUAGE") von PHP liefern. Wenn ein Wert von * umschlossen wird (z.B. *en-us*), werden alternativ alle im HTTP_ACCEPT_LANGUAGE-String gefundenen Sprachen aufgeteilt um den Wert mit jedem Teilstring zu vergleichen. So ein String sieht in der Regel so aus: de,en-us;q=0.7,en;q=0.3 und *en-us* würde auf diesen String zutreffen.

IP[Bearbeiten]

Syntax [IP = ipadresse1, ipadresse2, ...] Vergleich

Die Werte werden mit getenv("REMOTE_ADDR") von PHP verglichen. Anstelle eines Teiles können Sie auch ein * einbauen. Sie können auch lediglich die ersten ein, zwei oder drei Teile angeben. Beispiele

Diese Bedingungen werden durch jede IP-Adresse mit 123 am Anfang erfüllt: [IP = 123.*.*.*] [IP = 123]

Diese Bedingungen werden von jeder IP-Adresse erfüllt, die mit 123 endet, oder die 192.168.1.34 lautet. [IP = *.*.*.123][IP = 192.168.1.34]

hostname[Bearbeiten]

hour[Bearbeiten]

minute[Bearbeiten]

dayofweek[Bearbeiten]

[dayofweek = ...] Vergleich

Tag der Woche, beginnend mit Sonntag als 0 und endend mit Samstag als 6.

dayofmonth[Bearbeiten]

month[Bearbeiten]

usergroup[Bearbeiten]

loginUser[Bearbeiten]

treeLevel[Bearbeiten]

[treeLevel=ebenennummer,ebenennummer,...] Vergleich

Diese Bedingung überprüft, ob das letzte Element der rootline sich auf einer Ebene befindet, die einem der Ausdrücke in treeLevel entspricht. Ebene 0 ist die Ausgangsseite einer Website, Ebene 1 die erste Menüebene... Beispiel

Diese Bedingung verändert das Template, wenn die Seite entweder von Ebene 0 oder 2 aus betrachtet wird. [treeLevel = 0,2]

PIDinRootline[Bearbeiten]

[PIDinRootline=Seiten-UID,Seiten-UID,...] Vergleich

Diese Bedingung überprüft, ob eine der Angaben in PIDinRootline eine Seiten-ID der rootline ist. Beispiel

Diese Bedingung verändert das Template, wenn die betrachtete Seite oder eine der übergeordneten Seiten die UID 34 oder 36 hat. [PIDinRootline = 34,36]

PIDupinRootline[Bearbeiten]

[PIDupinRootline = Seiten-UID, Seiten-UID, ...] Vergleich

Funktioniert genauso wie »PIDinRootline, nur dass die UID der aktuellen Seite von der Überprüfung ausgeschlossen wird.

Kommentare von registrierten Benutzern: Kommentar von: dasoe

25. 09. 2005, 18:56 Mit PIDupinRootline und else kann man auch einen Setup-Teil einführen, der nur auf der Seite ausgeführt wird, die das Template enthält, aber auf keiner ihrer Unterseiten. Bsp.: Seite 187 beinhaltet das Template.

[PIDupinRootline=187] ... was man hier reinschreibt käme nur auf den Unterseiten [else] ... was man hier reinschreibt kommt nur auf der Seite selbst, und nicht auf den Unterseiten [end]

globalVars[Bearbeiten]

Oft verwendet für Sprach-Conditions

[globalVar= var1=Wert, var2<Wert2, var3>Wert3, ...] Vergleich

Die Werte als Fließkommaangaben werden mit der entsprechenden globalen Variable verglichen.

Operator


Funktion

[nichts]


Exakte Übereinstimmung erforderlich

>


Die Variable muss größer sein als der Wert

<

Die Variable muss kleiner sein als der Wert

Bsp:

GET oder POST Variable "test" abfragen:

Typoscript: Zeilennummerierung: An / Aus

[globalVar = GP:test = 1]
Anweisung
[end]

globalString[Bearbeiten]

userFunc[Bearbeiten]