thomas hirt . visuelle kommunikation
Diese Suppe löffeln wir nicht aus!
Wie man alte Scanner unter OSX wieder zum laufen bringt: SANE
 
Freitag, 26. Mär 2010

Link zurück auf eine TYPO3 Webseite

Auf der Kontakt Seite eines meiner TYPO3 Projekte gibt es einen Link zurück auf die Seite von der Besucher gekommen ist. Kommt der Besucher jedoch von einer anderen Domäne soll dieser Link nicht wieder weg von der Seite führen, sondern auf die Startseite des Projekts. Hier zeige ich meinen Lösungsansatz.


Version 1: Nur Typoscript

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]

 

Version 2: Typoscript und Javascript

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]

 
 
Kommentar hinzufügen




*

 
 
kalender
März 2010
M D M D F S S
< Jan   Jun >
1234567
8091011121314
15161718192021
22232425262728
293031  
 bücher   bugs   css   extensions   grafik   hardware   howto   humor   javascript   mac   musik   mysql   nachhaltigkeit   philosophie   phpmyadmin   privat   snippets   terminal   typo3   typoscript   weltfriede   wirtschaft