typolink

In diesem Artikel finden Sie diverse typolink Beispiele für Sprach Wechsel, Login, Logout etc.

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
	}
}

# 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
}


URL der aktuellen Seite


# einfachste Variante mit forceAbsoluteUrl 
10 = TEXT
10 {
	typolink.parameter.data = TSFE:id
	typolink.returnLast = url
	typolink.forceAbsoluteUrl = 1
}

# -- alternativen --

# mit realurl und der config.absRefPrefix = /
10 = COA
10 {
	1 = TEXT
	1.data = getIndpEnv:TYPO3_SITE_URL
	# / am Schluss abschneiden
	1.substring = 0,-1
	2 = TEXT
	2.typolink {
		parameter.data = TSFE:id
		returnLast = url
	}
}

# auch eine möglichkeit, ohne config.absRefPrefix = /
10 = COA
10 {
	1 = TEXT
	1.data = getIndpEnv:HTTP_HOST
	1.rawUrlEncode = 0
	1.wrap = http://|
	2 = TEXT
	2.typolink {
		parameter.data = TSFE:id
		returnLast = url
	}
}

URL Get Params an externe Url weiter geben

Wenn der Link im TYPO3 Seiten Cache landet, wird es so sein dass immer der QUERY_STRING des ersten Aufrufs in der URL ausgegeben wird. Nachträglich andere GET-Parameter werden nicht auf den Ausgabe Link übertragen. Auch useCacheHash=1 löst das Problem nicht, weil da nur auf additionalParams berücksichtigt werden. Funktionieren wird es nur innerhalb einem COA_INT. Ãœber additionalParams kann man es nach mir bei der Angabe einer externen URL leider nicht lösen.


# Beispiel URL http://www.thefox.ch/index.php?hallo=welt
10 = TEXT
10 {
	typolink {
		parameter = http://www.thefox.ch/
		parameter.dataWrap = |?{getIndpEnv:QUERY_STRING}
		returnLast = url
	}
}

# ohne Cache!
10 = COA_INT
10 {
	10 = TEXT
	10 {
		typolink {
			parameter = http://www.thefox.ch/
			parameter.dataWrap = |?{getIndpEnv:QUERY_STRING}
			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 via CASE auf header_layout Feld

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