Freitag, 26. Mär 2010
Die Typoscript Variante benötigt mehr Zeilen Kode da alle URL Parameter an den Link übergeben werden müssen. Nur dann funktioniert der Link auch für Seiten mit tt_news Inhalten oder anderen Extensions die Parameter via GET weitergeben. Dafür klappt diese Variante auch, wenn Javascript ausgeschalten sein sollte. Nur wenn der URL Parameter "goback" vorhanden ist, kam der Besucher von einer Seite des Projekts. Ansonsten kam der Besucher von Außen und man kann via Typoscript einen Link zu einer beliebigen Seite erzeugen.
### ACHTUNG: die Seite Test wird nicht gecached...
### CONSTANTS ###
# ID der Seite Test
id_test = 291
### SETUP ###
[globalVar = TSFE:id={$id_test}]
page.5000 = COA
page.5000 {
10 = TEXT
10 {
value = zurück
typolink {
parameter.data = GPvar : goback
useCacheHash = 1
addQueryString = 1
addQueryString.method = GET
addQueryString.exclude = id,goback
}
if.isTrue.data = GPvar : goback
}
20 = TEXT
20 {
value = Der Besucher kam von außerhalb
if.isFalse.data = GPvar : goback
}
}
[else]
page.5000 = TEXT
page.5000 {
value = Link zur Testseite
typolink {
parameter={$id_test}
additionalParams = &goback={page:uid}
additionalParams.insertData=1
useCacheHash = 1
addQueryString = 1
addQueryString.method = GET
addQueryString.exclude = id
}
}
[global]
Die Javascript Variante ist kürze und klappt natürlich nur sofern auch Javascript aktiviert ist. Es wird einfach die Funktion history.back() genutzt, um zur vorhergehenden Seite zu gelangen. Auch diese Funktion wird nur eingesetzt sofern der URL Parameter "goback" übergeben wurde.
### ACHTUNG: die Seite Test wird nicht gecached...
### CONSTANTS ###
# ID der Seite Test
id_test = 291
### SETUP###
[globalVar = TSFE:id={$id_test}]
page.5000 = COA
page.5000 {
10 = TEXT
10 {
value = zurück
wrap = <a href="javascript: history.back();">|</a>
if.isTrue.data = GPvar : goback
}
20 = TEXT
20 {
value = Der Besucher kam von außerhalb
if.isFalse.data = GPvar : goback
}
}
[else]
page.5000 = TEXT
page.5000 {
value = Link zur Testseite
typolink {
parameter={$id_test}
additionalParams = &goback=1
}
}
[global]