Typo3 - TSRef
TSRef Kurzreferenz
Conditions
browser
[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
Beispiel
[version= >4] && [browser= netscape3]
system
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
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
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
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
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
hour
minute
dayofweek
[dayofweek = ...] Vergleich
Tag der Woche, beginnend mit Sonntag als 0 und endend mit Samstag als 6.
dayofmonth
month
usergroup
loginUser
treeLevel
[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
[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
[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
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
Kommentare von registrierten Benutzern: Kommentar von: wunschtacho
09. 10. 2007, 14:15 GET oder POST Variable "test" abfragen:
Typoscript: Zeilennummerierung: An / Aus
1.
[globalVar = GP:test = 1]
2.
Anweisung
3.
[end]