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.