TYPO3 CMS Conditions

Allgemeine Informationen findet man in der TSREF von typo3.org oder auch mit Beispielen bei typo3.net

TSFE (id / type)


# nur auf bestimmte seiten id
[globalVar = TSFE:id = {$PID.startseite}]
	# typoscript code nur für startseite
[else]
	# typoscript code für unterseiten
[end]

# mehrere einzelne Seiten
[globalVar = TSFE:id={$PID.startseite}, TSFE:id={$PID.seiteX}, TSFE:id={$PID.seiteY}]
# typoscript code
[global]

# bei seiten type 98 keine bilder ausgeben
[globalVar = TSFE:type=98]
	tt_content.image.20 >
[end]

PIDinRootline / PIDupinRootline


# alle Unterseiten von Page ID 200, inkl. der Seite 200
[PIDinRootline = 200]
# typoscript code 
[global]

# alle unterseiten von Page ID 200, aber ohne Seite 200
[PIDupinRootline = 200]
# typoscript code
[global]

BE User


# als BE User angemeldet
[globalVar = TSFE : beUserLogin > 0]
# typoscript code
[end]

# nicht als BE User angemeldet
[globalVar = TSFE : beUserLogin < 1]
# typoscript code
[end]

# eigene user function
http://typo3.intervation.de/snippets/allgemein/condition-auf-backend-benutzer.html

FE User


# wenn nicht als FE User angemeldet
[globalVar = TSFE:fe_user|user|uid < 1]
# typoscript code

# kein FE und kein BE User
[globalVar = TSFE:fe_user|user|uid < 1] && [globalVar = TSFE : beUserLogin < 1]
# typoscript code
[end]

# alternative
[loginUser=*]
# wenn als FE User angemeldet
[else]
# normaler benutzer
[end]

Seiten/PAGE Felder


# page|layout 
# --------------------------------------

# 3 spalten
[globalVar = TSFE:page|layout = 1]
styles.content.imgtext.colPos0.maxW = 410
[global]

# ganze breite
[globalVar = TSFE:page|layout = 2]
styles.content.imgtext.colPos0.maxW = 700
[global]
Beispiel unterschiedliche maximale Bildbreite

Extension Parameter


# Extension Parameter (&tx_extension_pi1[param]=1)
[globalVar = GP:tx_extension_pi1|param > 0]
# typoscript code
[global]

Sprachen


[globalVar = GP:L = 2]
config {
	htmlTag_langKey = en_EN
	language = en
	locale_all = en_EN.utf8
	sys_language_uid = 2
	sys_language_mode = content_fallback ; 0,1
}
[end]

Browser / useragent


# nur für safari browser, alternative zu CSS-Hacks 
# Achtung TYPO3 Cache kann grösser werden !!!

# safari 4
[useragent = *Safari*]  && [useragent = *Version/4*]
# typoscript code safari4.css datei einbinden

# safari 3
[useragent = *Safari*]  && [useragent = *Version/3*]
# typoscript code

# safari 2
[useragent = *Safari*]  && [useragent = *Version/2*]
# typoscript code

[end]

HTTP_HOST


# default LIVE domain
config.baseURL = http://www.thefox.ch/
config.defaultGetVars.L = 0
config.sys_language_uid = 0

[globalString = ENV:HTTP_HOST = dev.thefox.ch]
	# DEV domain, z.B. auf Entwicklungs Server
	config.baseURL = http://dev.localhost.ch/
	# bestimmten code nicht verwenden
	lib.google_analytics >
	# andere Default Sprache 
	config.sys_language_uid = 1
	# damit Realurl im Pfad darauf reagiert ;-)
	config.defaultGetVars.L = 1
[global]

IENV:REQUEST_URI


# Bei ROOT Einstieg auf eine Unterseite weiterleiten
[globalString = IENV:REQUEST_URI=/]
config >
config.additionalHeaders = Location: /meine-home/seite.html
[end]

language (HTTP_ACCEPT_LANGUAGE)


# Ja nach Browser Sprache ( nur auf der Home Seite ) auf sprachspezifische Unterseite springen.
[globalString = IENV:REQUEST_URI=/] && [language = *de*]
config >
config.additionalHeaders = Location: /de/mainpage.html
[end]

[globalString = IENV:REQUEST_URI=/] && [language = *en*]
config >
config.additionalHeaders = Location: /en/mainpage.html
[end]

# Wichtig ist die Reihenfolge der Conditions zu beachten. 
# EN sollte am Schluss kommen!
# Beispiel von HTTP_ACCEPT_LANGUAGE vom Browser aus CH:
# Accept-Language : de-de,de;q=0.8,en-us;q=0.5,en;q=0.3

https


# https for page, kommt auf die server einstellungen an
[globalString = _SERVER|HTTPS=on]
	config.baseURL = https://www.domain.ch/
[global]

# verwendung der extension https_enforcer
[globalVar = TSFE:page|tx_httpsenforcer_force_secure = 0]
	config.baseURL = http://www.mydomain.net/
[else]
	config.baseURL = https://ssl.myisp.com/mydomain/
[global]