Posted By

xtine777 on 06/29/09


Tagged

typoscript typo3


Versions (?)

Who likes this?

3 people have marked this snippet as a favorite

ascarion
maddesigns
ben10


Conditions in Typoscript


 / Published in: TYPO3
 

  1. [PIDinRootline = Seiten-uid, Seiten-uid,...]
  2. Eine Seite inkl. Unterseiten
  3.  
  4.  
  5. [PIDupinRootline = Seiten-uid, Seiten-uid,...]
  6. Nur untergeordnete Seiten einer Seite
  7.  
  8.  
  9. [treeLevel = Seitenebene, Seitenebene,...]
  10. Ebene im Seitenbaum
  11.  
  12.  
  13. [globalVar = var1=value, var2=value2,...]
  14. Alle globalen Variablen auswerten. GP steht für den Zugriff auf Get- pder Post-Variablen, TSFE für Variablen aus dem Typoscript-Frontend-Objekt, ENV für PHP-Umgebungsvariablen, LIT für den Vergleich mit internem String; Dahinter mit : getrennt die eigentlichen Variablennamen und Vergleichsoperator mit Wert.
  15.  
  16. [globalVar = GP:sytle = 2]
  17. alternative Stxylesheets einbinden
  18.  
  19. [globalVar = GP:tx_extKey|showUid = 4]
  20. Get- oder Post-Variable einer Extension tx_extKey[showUid] mit dem Wert 4 übergeben
  21.  
  22. [globalVar = TSFE:id = 2, TSFE:id > 123]
  23. wenn angeforderte Seiten-Id gleich 2 oder grösser als 123 ist
  24.  
  25. [globalVar = TSFE:page|layout = 1]
  26. wenn das Feld layout der angeforderten Seite den Wert 1 enthält. Nützlich um eine andere HTML-Vorlage oder Stylesheets einzubinden. Felder aus Inhaltelementen können in Conditions nicht verwendet werden.
  27.  
  28. [globalVar = LIT:1 = {$beliebeigeKonstante}]
  29. trifft zu wenn die Typoscript-Konstante "beliebigeKonstante" gleich 1 gesetzt ist.
  30.  
  31.  
  32. [loginUser = fe_users-uid, fe_users-uid,...]
  33. Login von Benutzern im Frontend
  34.  
  35.  
  36. [usergroup = group1-uid, group2-uid,...]
  37. Login von Benutzergruppen im Frontend
  38.  
  39.  
  40. [IP = 123.12.*.*]
  41. Ip-Adressen
  42.  
  43.  
  44. [useragent = agent]
  45. Browser

Report this snippet  

Comments

RSS Icon Subscribe to comments
Posted By: xtine777 on June 29, 2009

Typoscript-Conditions

This will match with a url like "...&print=1" [globalVar = GP:print > 0]

This will match with an url like "...&txextpi1[var1]=1" [globalVar = GP:txextpi1|var1 > 0]

This will match with a remote-addr begining with "192.168." [globalString = ENV:REMOTE_ADDR = 192.168.*]

This will match with the page-id being higher than 10: [globalVar = TSFE:id > 10]

This will match with the pages having the layout field set to "Layout 1": [globalVar = TSFE:page|layout = 1]

If the constant {$constanttoturnSomethingOn} is "1" then this matches: [globalVar = LIT:1 = {$constanttoturnSomethingOn}]

This will match with netscape and opera-browsers [browser = netscape, opera]

This will match if any BE-user is logged in: [globalVar = TSFE : beUserLogin > 0]

This matches logins from users members of groups with uid's 1 and/or 2: [usergroup = 1,2]

This will match on any FE-user (because every FE-user has an usergroup) [usergroup = *]

better: [loginUser = *]

This matches logins from special users uid's feusers-uid1 and/or feusers-uid2, ...: [loginUser = feusers-uid1, feusers-uid2, ...]

This checks if one of the figures in "pages-uidl" is a PID (pages-uid) in the rootline: [PIDinRootline = pages-uid, pages-uid, ...]

Do the same as PIDinRootline, except the current page-uid is excluded from check. [PIDupinRootline = pages-uid, pages-uid, ...]

This ends any conditions: [end]

or this: [global]

Es ist nicht möglich Conditions von Werten, die in vorgehenden Conditions gesetzt werden abhängig zu machen:

folgendes funktioniert nicht !

default-Konfiguration

config.syslanguageuid = 0 config.language = en config.localeall = enEN config.htmlTag_langKey = en

[globalVar = GP:L = 1]

Konfiguration wenn &L=1 angegeben

config.syslanguageuid = 1 config.language = de

config.localeall = deDE

config.htmlTag_langKey = de

[global]

:

:

Versuch obiges Setzen von syslanguageuid abzufragen:

[globalVar = TSFE:syslanguageuid = 1]

hier kommt man niemals hin, auch wenn die Abfrage grundsätzlich möglich ist und abgefragt werden kann.

[global]

Anmerkung:

in Extensions ist das Abfragen der GET-Variablen t3lib_div::GPVar('L') zum Bestimmen der Sprache eher verkehrt.

Dort sollte man immer auf $GLOBALS['TSFE']->syslanguageuid zurückgreifen um zu bestimmen welcher übersetzte Datensatz gerade benutzt werden soll.

http://www.pi-phi.de/19.html

You need to login to post a comment.