drucken :: thefox: 03.03.2011

typolink

Allgemeine typolink Beispiele


# <a href="http://www.thefox.ch/typo/?logintype=logout">Logout</a>
10 = TEXT
10 {
	value = Logout
	typolink {
		parameter.data = TSFE:id
		additionalParams = &logintype=logout
	}
}

# URL Get Params an externe Url weiter geben
# http://www.typo3.org/index.php?id=thefox
10 = TEXT
10 {
	typolink {
		parameter = http://www.typo3.org/index.php
		parameter.dataWrap = |?{getIndpEnv:QUERY_STRING}
		returnLast = url
	}
}

# http://www.thefox.ch/?eID=pluginkey&id=1
10 = TEXT
10 {
	typolink {
		parameter.data = getIndpEnv:TYPO3_SITE_URL
		parameter.dataWrap = |?eID=pluginkey&id={TSFE:id}
		returnLast = url
	}
}

# zu sprungmarke innerhalb einer nicht gecachten seite
10 = TEXT
10 {
	value = Jump To
	typolink {
		parameter = 77
		section = 263
		returnLast = url
		useCacheHash = 1
	}
}

# für formular action der aktuellen seite
1 = LOAD_REGISTER
1 {
	formaction.cObject = TEXT
	formaction.cObject.typolink.parameter.data = TSFE:id
	formaction.cObject.typolink.returnLast = url
}


Login / Logout typolink


# erstellt einen logout link wenn der FE Benutzer angemeldet ist,
# ansonsten wird einen login link erstellt.

1 = LOAD_REGISTER
1 {
	loginLink.cObject = TEXT
	loginLink.cObject {
		value = Login
		typolink {
			# id der login seite angeben
			parameter = {$PID.login}
		}
		if.isFalse.data = TSFE:fe_user|user|uid
	}
	logoutLink.cObject = TEXT
	logoutLink.cObject {
		value = Logout
		typolink {
			# id der ziel seite angeben
			parameter = {$PID.startseite}
			additionalParams = &logintype=logout
		}
		if.isTrue.data = TSFE:fe_user|user|uid
	}
}

10 = TEXT
10.data = register:loginLink // register:logoutLink

Sprach Wechsel Link (einfach)


# Annahme: Deutsch ist Default.
config {
	sys_language_uid = 0
	language = de
	locale_all = de_CH.utf8
	htmlTag_langKey = de-CH
}

# Italiano ist wie folgt konfiguriert.
[globalVar = GP:L = 1]
config {
	sys_language_uid = 1
	language = it
	locale_all = it_CH.utf8
	htmlTag_langKey = it-CH
}
[global]


10 = TEXT  
10 {
  value = Italiano
  lang.it = Deutsch
  typolink.parameter.field = uid
  typolink.additionalParams = &L=1
  typolink.additionalParams.lang.it = &L=0
}


Mehrsprachiger Drucken Link für TemplaVoila


# TemplaVoila arbeitet mit print=1

# CONSTANTS:
# ------------------------------------------------

# Texte / Labels
TEXT.printLink = Drucken

# italian
[globalVar = GP:L = 1]
TEXT.printLink = Stampa

# french
[globalVar = GP:L = 2]
TEXT.printLink = Imprimer

# english
[globalVar = GP:L = 3]
TEXT.printLink = Print

[global]


# SETUP:
# ------------------------------------------------

10 = TEXT
10 {
	value = {$TEXT.printLink}
	typolink {
		parameter.data = TSFE:id
		additionalParams.dataWrap = &{getIndpEnv:QUERY_STRING}&print=1
		title = {$TEXT.printLink}
		useCacheHash = 1
		ATagParams = class="icon printLink"
		target = _blank
	}
}

Drucken Link mit type 98


10 = TEXT
10 {
	value = Drucken
	typolink {
		parameter.data = TSFE:id
		# add type
		parameter.wrap = |,98
		additionalParams.dataWrap = &{getIndpEnv:QUERY_STRING}
		title = Drucken
		useCacheHash = 1
		target = _blank
	}
	wrap = <span class="print">|</span>
}

Link in einem POPUP


# deluxe
10  = TEXT
10 {
	typolink {
		addQueryString = 1

		# popup hat eigener seiten type
		parameter.data = TSFE:id
		parameter.wrap = |,513 500x400

		title = Hier klicken um Popup zu öffnen

		additionalParams = &type=513&tt_address[pid]={field:uid}
		additionalParams.method = POST,GET
		additionalParams.insertData = 1

		JSwindow_params	= menubar=0, scrollbars=0, toolbar=0, resizable=1
	}
	field = title
	dataWrap = <span class="popup">|</span>
	required = 1
}

# einfach mit scrollbar erzwingen!
10 = TEXT
10 {
	value = Popup dieser Seite
	typolink {
		parameter.data = TSFE:id
		# hier mit type 0 sonst klappt es nicht mit den params
		parameter.wrap = |,0 500x400:scrollbars=1
		title = Hier klicken um Popup zu öffnen
	}
}

Unterschiedliche ATagParams anhand header_layout

Die Überschrift eines Content Elements kann man verlinken. Wenn man dem Link unterschiedliche Parameter geben will, könnte man dies auch über das Header Layout steuern.

Dieses Beispiel ist auch für andere typolinks anwendbar.


lib.stdheader.10.setCurrent.typolink {

	ATagParams.cObject = CASE
	ATagParams.cObject {
		key.field = header_layout
		default = TEXT
		default.value = class="default"
		0 = TEXT
		0.value =  class="normal"
		1 = TEXT
		1.value =  rel="shadowbox"
	}

}
ATagParams mit CASE