TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

typolink

Umschließt den eingehenden Wert mit einem Link.

Wenn diese Funktion von »parseFunc aus benutzt wird, werden in den Array $cObj->parameters die Link-Parameter (kleingeschrieben) geschrieben.

Eigenschaft

Datentyp

Beschreibung

Standard

extTarget

Ziel / stdWrap

Ziel, das für externe Links benutzt wird.

_top

target

Ziel / stdWrap

Ziel, das für interne Links benutzt wird.

no_cache

boolean / stdWrap

Fügt dem Link einen &no_cache=1-Parameter hinzu.

useCacheHash

boolean

Wenn diese Eigenschaft gesetzt ist, wird die Liste aus »additionalParams zerlegt und in einem Hashstring verschlüsselt ans Ende der URL angehängt, wie z.B. &cHash=ae83fd7s87. Wenn der Caching-Mechnismus diesen Wert sieht, wird der gleiche Wert basierend auf den eingehenden Werten in HTTP_GET_VARS, ausschließlich den Werten id, type, no_cache, ftu, cHash, auf dem Server berechnet.
Wenn der eingehende Hash-Wert mit dem berechneten übereinstimmt, wird die Seite auf dieser Basis gecacht.
Der [SYS][encryptionKey] wird in den Hash eingebunden um ihn für den Server einzigartig und unvorhersehbar zu machen.

additionalParams

string / stdWrap

Dies sind die Parameter, die ans Ende der URL angehängt werden. Der hier angegebene Wert muss so wie er ist ans Ende der URl angehängt werden können.

Beispiel:
&print=1
&sword_list[]=wort1&sword_list[]=wort2

Anwendungen:
Dies ist sehr nützlich, um von einem Suchergebnis aus auf Seiten zu verlinken. Die Suchbegriffe werden unter dem Registerschlüssel SWORD_PARAMS gespeichert und können folgendermaßen eingebunden werden:
.additionalParams.data = register:SWORD_PARAMS

ANMERKUNG: Dies geht nur mit internen Links.

wrap

wrap

Umschließt den Link.

ATagBeforeWrap

boolean

Wenn diese Eigenschaft gesetzt ist, wird der Link zuerst mit ».wrap umschlossen und erst danach mit den <A>-Tags.

parameter

string / stdWrap

Dieser Wert gibt die Daten an, die typolink zum Erzeugen des Links verwendet. Vom Wert werden Leerzeichen am Anfang und am Ende abgeschnitten und wenn er leer ist, liefert typolink den Eingabewert unangetastet zurück.

ANMERKUNG: Wenn diese Funktion von »parseFunc aus benutzt wird, sollte dieser Wert importiert werden mit:
typolink.parameter.data = parameters : allParams

Beispiele:

Interne Links:

  • Integerwerte (51): Erzeugt einen Link zur Seite mit uid=51
  • Dateireferenzen (fileadmin/verzeichnis/datei.html): Erzeugt einen Link zur Datei auf dem lokalen Server.
  • Strings (ein_alias): Erzeugt einen Link zur Seite mit alias = "ein_alias"

Externe Links:

  • Emailadressen (name@email.de): Erzeugt einen Link zu einer Emailadresse.
  • Domains (www.domain.de): Erzeugt einen Link zu einer http://-Seite

So wird die Eingabe ausgewertet:
Zunächst wird die Zeichenkette nach Leerzeichen aufgeteilt. Dies bietet die Möglichkeit, mehrere Parameter zu übergeben. Siehe Ziel unten.

  • Wenn der String ein @ enthält, wird die Eingabe als Emailadresse gewertet.
  • Wenn ein Punkt (.) gefunden wird UND der Punkt vor einem Schrägstrich (/) gefunden wird ODER ein Doppelschrägstrich (//) gefunden wird, wird die Eingabe als URL gewertet.
  • Wenn ein Doppelstrich (/) gefunden wird, wird die Eingabe als Dateireferenz gewertet. Wenn die Datei/Verzeichnis nicht auf dem Server gefunden wird, wird nicht darauf verlinkt.

Jetzt könnte die Eingabe noch ein alias oder eine Seiten-ID sein. Wenn die Eingabe ein Integer-Wert ist, ist es eine Seiten-ID, besteht der Wert aus zwei kommaseparierten Integern, ist es id/type-Paar, andernfals ist es ein alias. Für Seiten-ID oder aliases können Sie ein # mit der UID eines Seiteninhaltes, zu dem gesprungen werden soll, anhängen (falls die ».section-Eigenschaft gesetzt ist, überschreibt sie diese Einstellung).
Wenn Sie nur z.B. #234 angeben, wobei 234 die UID eines Seiteninhaltes angibt, wird auf die ID der aktuellen Seite verlinkt.

Ziel
Das Ziel wird normalerweise durch die »extTarget und »target-Eigenschaften von typolink definiert. Sie können dieses Ziel aber dadurch überschreiben, indem Sie das neue Ziel von einem Leerzeichen abgetrennt hinter die Parameter schreiben. So wird das Ziel also der "zweite" Parameter.
Wenn der Ziel-Parameter auf das "-"-Zeichen gesetzt ist, bedeutet das das Gleiche, als wenn kein Parameter übergeben worden wäre. Das ermöglicht es Ihnen, immer noch eine Klasse als dritten Parameter übergeben zu können, ohne sich auf ein Ziel festlegen zu müssen.

Öffnen in einem Fenster mit festen Maßen (JavaScript)
Es ist möglich, den Link in einem Fenster zu öffnen, welches (mit window.open) von einem JavaScript geöffnet wird. Hierfür setzen Sie einfach den Wert fürs Ziel auf z.B. 123x456, wobei 123 hier die Breite und 456 die Höhe angibt. Sie können der Funktion auch zusätzliche Parameter übergeben, indem Sie sie von einem Doppelpunkt (:) getrennt hinter die Maße des Fensters schreiben. Zum Beispiel wird 230x450:resizable=0,location=1 das Ändern der Fenstergröße deaktivieren und die Adressleiste aktivieren.
Siehe auch die Eigenschaft JSwindow.

Klasse
Wenn Sie einen "dritten" Parameter (mit einem Leerzeichen abgetrennt) angeben, wird dieser Wert zum class-Attribut des Links. Dieser Klassen-Parameter wird vor den Werten von ».ATagParams in den Link-Tag eingefügt. Das bedeutet (zumindest beim MSIE), dass diese Klasse jede in ».ATagParams gesetzte Klasse überschreibt.

Beispiele von Multiparametern:
Wenn dieser parameter-Wert an die Funktion geleitet wird,...
51 _blank blueLink
...wird das einen derartigen Link erzeugen:
<A href="?id=51" target="_blank" class="blueLink">

JSwindow_params

string

Vordefinieren von Parametern fürs Öffnen des Fensters. Diese Beispieliste enthält fast alle möglichen Attribute:
status=1,menubar=1,scrollbars=1,resizable=1, location=1,directories=1,toolbar=1

returnLast

string

Wenn diese Eigenschaft auf url gesetzt ist, wird sie die URL des Links zurückliefern ($this->lastTypoLinkURL).
Wenn sie auf target gesetzt ist, wird das Ziel des Links zurückgeliefert.
In diesen beiden Fällen erhalten Sie die Wert also nicht gewrapt sondern nur die URL oder das Ziel.

section

string / stdWrap

Wenn diese Eigenschaft gesetzt ist, wird ihr ein # vorangestellt und hinter jede internen URL auf eine andere Seite in Typo3 platziert.
Dies wird benutzt, um einen Link zu erzeugen, der von einer Seite direkt auf einen Abschnitt einer anderen Seite springt.

ATagParams

<A>-Parameter

Zusätzliche Parameter

Beispiel:
class="board"

userFunc

Funktionsname

Dies leitet die von der typolink-Funktion berechneten Linkdaten an eine benutzerdefinierte Funktion für die abschließende Bearbeitung weiter.
Die Variable $content, die als erster Parameter an die Benutzerfunktion übergeben wird ist ein Array mit den Schlüsseln TYPE, TAG, url, targetParams und aTagParams.
TYPE zeigt die Art des Links an: mailto, url, file, page.
TAG ist der komplette von der typolink-Funktion berechnete <A>-Tag. Die letzten drei Eigenschaften werden nach folgendem Muster im TAG-Wert zusammengeführt: 

<A HREF="'.$finalTagParts["url"].'"'.
$finalTagParts["targetParams"].
$finalTagParts["aTagParams"].'>

Die benutzerdefinierte Funktion muss einen <A>-Tag zurückliefern.

Kommentare von registrierten Benutzern:

 
Autor Nachricht
Verfasst am: Freitag, 11-05-12 11:10
larryc
Dabei seit: 13. 04. 2005
Beiträge: 19
Absolute Links mit http / Https funktionieren auch:
typolink.forceAbsoluteUrl=1
typolink.forceAbsoluteUrl.protocol = https
Verfasst am: Donnerstag, 13-10-11 12:14
Gelöschter Benutzer
Ich hab folgendes Szenario: Auf jeder Seite soll ein Link sein, der einen auf die Detailseite der letzten News leitet. Nun ist es mir gelungen, dass ich den Titel der letzten News überall ausgeben lassen kann, in dem ich die Datenbank abfrage.

TYPOSCRIPT

lib.meinlink.40 = CONTENT
lib.meinlink.40 {
table = tt_news
select {
pidInList = 13
where= hidden=0
orderBy = uid desc
max = 1
}

renderObj = COA
renderObj {
10 = TEXT
10.field = title
}
}



Der Link einer News zur Detailansicht sieht in etwa aus wieder Titel, wenn man RealURL richtig konfiguriert hat. Die Frage ist jetzt nur, wie ich z.B. aus dem Titel

"!!!Ich bin die aktuellste News!!!"

einen Link machen kann á la

<a href="article/ich-bin-die-aktuellste-news.html" > Artikel lesen...</a>

Denn der Titel kann ja Sonderzeichen ohne Ende enthalten, was in der URL nicht so geschickt ist.
Hat jemand ne Idee?
Verfasst am: Dienstag, 15-02-11 13:58
Gelöschter Benutzer
"basierend auf den eingehenden Werten in HTTP_GET_VARS" - gemeint ist wohl eher $_GET icon_wink.gif

HTTP_GET_VARS ist seit PHP 5.0.3 per default deaktiviert
Verfasst am: Donnerstag, 19-03-09 12:59
Thomas Utke
Dabei seit: 31. 01. 2009
Beiträge: 24
Ich habe die vielen Kommentare und die Anleitung gelesen und konnte keine Lösung zu meinem Problem finden.

Ich verwende tt_address und möchte die email Adresse mit dem Typolink versehen.

beispielsweise so:

TYPOSCRIPT
email {
  typolink.parameter.field = email
  required = 1
  wrap = E-Mail: |
}


Mein Wunsch ist es nun den Text der E-Mail Adresse nach dem wrap E-Mail: | nicht mehr als name[at]domain[dot]de anzuzeigen sondern z.B. als [Mail schreiben]

Das hat weder mit
TYPOSCRIPT
title = Mail
schreiben noch mit
TYPOSCRIPT
value = Mail schreiben
funktioniert

Wie funktioniert das?

Gruß ThomasU
Verfasst am: Donnerstag, 19-06-08 02:18
Eke
Dabei seit: 29. 12. 2005
Beiträge: 5
Hier ein schnippsel der die langmenu.php ersetzt:

TYPOSCRIPT
temp.sprachmenu = COA
temp.sprachmenu {
  1 = IMAGE
  1.file = fileadmin/flags/gb.gif
  1.imageLinkWrap = 1
  1.imageLinkWrap {
    enable = 1
    typolink {
      parameter.data = TSFE : id
      additionalParams =&L=1
      addQueryString = 1
      addQueryString.method = GET
    }
  }
  2 = IMAGE
  2.file = fileadmin/flags/us.gif
  2.imageLinkWrap = 1
  2.imageLinkWrap {
    enable = 1
    typolink {
      parameter.data = TSFE : id
      additionalParams =&L=1
      addQueryString = 1
      addQueryString.method = GET
    }
  }
  3 = IMAGE
  3.file = fileadmin/flags/de.gif
  3.imageLinkWrap = 1
  3.imageLinkWrap {
    enable = 1
    typolink {
      parameter.data = TSFE : id
      additionalParams =&L=0
      addQueryString = 1
      addQueryString.method = GET
    }
  }
  wrap = <div id="langmenu">|</div>
}
Verfasst am: Donnerstag, 19-06-08 02:16
Eke
Dabei seit: 29. 12. 2005
Beiträge: 5
hier mein sprachmenu, dass die doofe langmenu.php ersetzt:

TYPOSCRIPT
temp.sprachmenu = COA
temp.sprachmenu {
  1 = IMAGE
  1.file = fileadmin/flags/gb.gif
  1.imageLinkWrap = 1
  1.imageLinkWrap {
    enable = 1
    typolink {
      parameter.data = TSFE : id
      additionalParams =&L=1
      addQueryString = 1
      addQueryString.method = GET
    }
  }
  3 = IMAGE
  3.file = fileadmin/flags/de.gif
  3.imageLinkWrap = 1
  3.imageLinkWrap {
    enable = 1
    typolink {
      parameter.data = TSFE : id
      additionalParams =&L=0
      addQueryString = 1
      addQueryString.method = GET
    }
  }
  wrap = <div id="langmenu">|</div>
}
[/TYPOSCRIPT]
Verfasst am: Freitag, 29-02-08 22:26
walter jenner
Dabei seit: 30. 07. 2007
Beiträge: 10
um einen rss link zu machen, kann man dieses TS verwenden..

###rss-link###
temp.rss = TEXT
temp.rss.value = RSS
temp.rss.typolink.parameter = 1
temp.rss.typolink.additionalParams =&type=100

page.10.subparts.RSS < temp.rss
Verfasst am: Freitag, 26-10-07 09:43
Christoph Zimmer
Dabei seit: 07. 09. 2006
Beiträge: 91
@dooz, mein alter Meister.

Folgende Variante ist besser:

TYPOSCRIPT
1 = TEXT
	1.wrap = <li>|</li>
	1.value = empfehlen
	1.typolink{
		title = Diese Seite einem Bekannten empfehlen
		parameter = 61 _self iconRecommend
		ATagBeforeWrap = 1
		additionalParams.cObject = COA
		additionalParams.cObject {
			1 = TEXT
			1.data = getenv : HTTP_HOST
			1.rawUrlEncode = 1
			1.wrap = &tipUrl=http:%2F%2F|
			2.wrap = |
			2 = TEXT
			2.data = getenv : SCRIPT_NAME
			2.rawUrlEncode = 1
			2.substring = 0,-9 
			4 = TEXT
			4.typolink {
				parameter.data = TSFE:id
				returnLast = url
			}
 
 
		}
	}


Wenn die URL nur auf das Verzeichnis zeigt (z.B. bei der Startseite beim 1. Aufruf der Fall), dann gibt REDIRECT_URL keinen Wert mehr aus. Das oben ist nun meine Alternative nach einigem rumprobieren.Per Script_Name lasse ich mir den Pfad ausgeben und schneide das index.php weg und hänge den Link mit Alias dran. Das wär auch ne Variante.
Verfasst am: Dienstag, 23-10-07 14:58
jens
Dabei seit: 07. 04. 2003
Beiträge: 92
so geht das:
###Typoscript_BUFFER_MARKER_MMCMS###
Verfasst am: Montag, 27-08-07 13:30
Mario Haim
Dabei seit: 19. 04. 2007
Beiträge: 17
Eine dringende Frage: Wie kann ich alle momentan in der URL enthaltenen Parameter mitübermitteln, ohne diese fix anzugeben? Also beispielsweise sollen tt_news-ids übergeben werden, wenn solche vorhanden sind, etc. Der Link ist einer für eine Druckansicht:


temp.printview = IMAGE
temp.printview {
file = fileadmin/blubb/bla.gif
imageLinkWrap = 1
imageLinkWrap {
enable = 1
typolink {
parameter.data = page:uid
additionalParams =&type=9
}
}
}
Verfasst am: Dienstag, 21-08-07 10:08
Fr
Dabei seit: 24. 07. 2006
Beiträge: 126
ich möchte ein neues Fenster mit einem Verweis auf eine interne TYPO3-Seite haben (enthält ein PLugin zur FLV-Wiedergabe). Diese soll in einem neuen Fenster aufgehen und NICHT den "Rahmen" meiner TYPO3-Webseite, sondern eine einfache weiße Seite haben, auf der nur das Plugin laeuft. Wie realisiere ich das u.a. mit TYPOLINK ?
Verfasst am: Montag, 13-08-07 02:36
swingtra
Dabei seit: 07. 12. 2004
Beiträge: 182
wie funktioniert ein einfacher textlink mit ts braucht man da ein tutorial?



Kommentar schreiben

Nun ...
z.B.
typolink {
target = _self
#target=_blank
parameter = ein Text
##oder... z.B. für Constant-Editor eintext = mein Link
#parameter = {$eintext}
Verfasst am: Montag, 13-08-07 02:31
swingtra
Dabei seit: 07. 12. 2004
Beiträge: 182
Wichtig:
JSwindow = 1 // !

hier ein Beispiel:

typolink {
target = _self
parameter = 13 700x700:resizable=1,location=0
JSwindow = 1
JSwindow_params = status=1,menubar=1,scrollbars=0,resizable=1, location=0,directories=0,toolbar=0
}


##"...sonst klappts nicht mit dem ##Nachbarn"[/TYPOSCRIPT]
Verfasst am: Donnerstag, 12-10-06 13:02
dooz
Dabei seit: 20. 12. 2004
Beiträge: 43
Kleiner Tipp von mir, wie man einen TipAFriend-Link mit typolink generiert:
TYPOSCRIPT
lib.footRowJS = COA
lib.footRowJS {
	1 = TEXT
	1.typolink{
		parameter = 197
		ATagParams = class="iconRecommend"
		additionalParams.cObject = COA
		additionalParams.cObject {
			1 = TEXT
			1.data = getenv : HTTP_HOST
			1.rawUrlEncode = 1
			2 = TEXT
			2.data = getenv : REDIRECT_URL
			2.rawUrlEncode = 1
			1.wrap = &tipUrl=http:%2F%2F|
			2.wrap = |
		}
	}
}
Verfasst am: Dienstag, 03-10-06 14:04
toyde
Dabei seit: 26. 08. 2004
Beiträge: 2023
Beispiel wie man über imageLinkWrap und typolink ein Element mit target = "_blank" versieht.
TYPOSCRIPT
page.10.marks.MEINMARKER {
  imageLinkWrap.typolink.parameter = www.domain.de _blank
}

» http://www.typo3.net/forum/list/list_post//50987/?page=2
Verfasst am: Sonntag, 06-08-06 11:20
steffen
Dabei seit: 09. 04. 2003
Beiträge: 3
es fehlt noch die Eigenschaft title

TYPOSCRIPT
typolink.title = Ich bin der Titel
Verfasst am: Montag, 13-02-06 14:45
Jo
Dabei seit: 01. 05. 2003
Beiträge: 13
TYPOSCRIPT
10 = TEXT
10.value = typo3.net/forum
10.typolink {
    target = _self
    parameter = http://www.typo3.net/forum/
}
10.wrap = Hier bitte nur funktionierende Beispiele und Ergänzungen. Fragen und alles andere bitte ins <b> | </b> schreiben.
Verfasst am: Samstag, 11-06-05 21:43
peter
Dabei seit: 12. 12. 2002
Beiträge: 2
wie funktioniert ein einfacher textlink mit ts braucht man da ein tutorial?