Typo3 - TSRef
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]