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:

Kommentar von: Eke

19. 06. 2008, 2:18
Hier ein schnippsel der die langmenu.php ersetzt:

Typoscript:Zeilennummerierung:  An / Aus

  1. temp.sprachmenu = COA
  2. temp.sprachmenu {
  3.   1 = IMAGE
  4.   1.file = fileadmin/flags/gb.gif
  5.   1.imageLinkWrap = 1
  6.   1.imageLinkWrap {
  7.     enable = 1
  8.     typolink {
  9.       parameter.data = TSFE : id
  10.       additionalParams =&L=1
  11.       addQueryString = 1
  12.       addQueryString.method = GET
  13.     }
  14.   }
  15.   2 = IMAGE
  16.   2.file = fileadmin/flags/us.gif
  17.   2.imageLinkWrap = 1
  18.   2.imageLinkWrap {
  19.     enable = 1
  20.     typolink {
  21.       parameter.data = TSFE : id
  22.       additionalParams =&L=1
  23.       addQueryString = 1
  24.       addQueryString.method = GET
  25.     }
  26.   }
  27.   3 = IMAGE
  28.   3.file = fileadmin/flags/de.gif
  29.   3.imageLinkWrap = 1
  30.   3.imageLinkWrap {
  31.     enable = 1
  32.     typolink {
  33.       parameter.data = TSFE : id
  34.       additionalParams =&L=0
  35.       addQueryString = 1
  36.       addQueryString.method = GET
  37.     }
  38.   }
  39.   wrap = <div id="langmenu">|</div>
  40. }


Profil

Kommentar von: Eke

19. 06. 2008, 2:16
hier mein sprachmenu, dass die doofe langmenu.php ersetzt:

Typoscript:Zeilennummerierung:  An / Aus

  1. temp.sprachmenu = COA
  2. temp.sprachmenu {
  3.   1 = IMAGE
  4.   1.file = fileadmin/flags/gb.gif
  5.   1.imageLinkWrap = 1
  6.   1.imageLinkWrap {
  7.     enable = 1
  8.     typolink {
  9.       parameter.data = TSFE : id
  10.       additionalParams =&L=1
  11.       addQueryString = 1
  12.       addQueryString.method = GET
  13.     }
  14.   }
  15.   3 = IMAGE
  16.   3.file = fileadmin/flags/de.gif
  17.   3.imageLinkWrap = 1
  18.   3.imageLinkWrap {
  19.     enable = 1
  20.     typolink {
  21.       parameter.data = TSFE : id
  22.       additionalParams =&L=0
  23.       addQueryString = 1
  24.       addQueryString.method = GET
  25.     }
  26.   }
  27.   wrap = <div id="langmenu">|</div>
  28. }
[/TYPOSCRIPT]

Profil

Kommentar von: walter jenner

29. 02. 2008, 22:26
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

Profil

Kommentar von: Christoph Zimmer

26. 10. 2007, 9:43
@dooz, mein alter Meister.

Folgende Variante ist besser:

Typoscript:Zeilennummerierung:  An / Aus

  1. 1 = TEXT
  2.         1.wrap = <li>|</li>
  3.         1.value = empfehlen
  4.         1.typolink{
  5.                 title = Diese Seite einem Bekannten empfehlen
  6.                 parameter = 61 _self iconRecommend
  7.                 ATagBeforeWrap = 1
  8.                 additionalParams.cObject = COA
  9.                 additionalParams.cObject {
  10.                         1 = TEXT
  11.                         1.data = getenv : HTTP_HOST
  12.                         1.rawUrlEncode = 1
  13.                         1.wrap = &tipUrl=http:%2F%2F|
  14.                         2.wrap = |
  15.                         2 = TEXT
  16.                         2.data = getenv : SCRIPT_NAME
  17.                         2.rawUrlEncode = 1
  18.                         2.substring = 0,-9
  19.                         4 = TEXT
  20.                         4.typolink {
  21.                                 parameter.data = TSFE:id
  22.                                 returnLast = url
  23.                         }
  24.  
  25.  
  26.                 }
  27.         }


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.

Profil

Kommentar von: jens

23. 10. 2007, 14:58
so geht das:
Typoscript:Zeilennummerierung:  An / Aus

  1. temp.printview = IMAGE
  2. temp.printview {
  3. file = fileadmin/blubb/bla.gif
  4. imageLinkWrap = 1
  5. imageLinkWrap {
  6. enable = 1
  7. typolink {
  8. parameter.data = page:uid
  9. additionalParams =&type=9
  10. addQueryString = 1
  11. addQueryString.method = GET
  12. }
  13. }
  14. }


Profil

Kommentar von: Mario Haim

27. 08. 2007, 13:30
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
}
}
}

Profil

Kommentar von: Fr

21. 08. 2007, 10:08
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 ?

Profil

Kommentar von: swingtra

13. 08. 2007, 2:36
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}

Profil

Kommentar von: swingtra

13. 08. 2007, 2:31
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]

Profil

Kommentar von: dooz

12. 10. 2006, 13:02
Kleiner Tipp von mir, wie man einen TipAFriend-Link mit typolink generiert:
Typoscript:Zeilennummerierung:  An / Aus

  1. lib.footRowJS = COA
  2. lib.footRowJS {
  3.         1 = TEXT
  4.         1.typolink{
  5.                 parameter = 197
  6.                 ATagParams = class="iconRecommend"
  7.                 additionalParams.cObject = COA
  8.                 additionalParams.cObject {
  9.                         1 = TEXT
  10.                         1.data = getenv : HTTP_HOST
  11.                         1.rawUrlEncode = 1
  12.                         2 = TEXT
  13.                         2.data = getenv : REDIRECT_URL
  14.                         2.rawUrlEncode = 1
  15.                         1.wrap = &tipUrl=http:%2F%2F|
  16.                         2.wrap = |
  17.                 }
  18.         }
  19. }


Profil

Kommentar von: toyde

03. 10. 2006, 14:04
Beispiel wie man über imageLinkWrap und typolink ein Element mit target = "_blank" versieht.
Typoscript:Zeilennummerierung:  An / Aus

  1. page.10.marks.MEINMARKER {
  2.   imageLinkWrap.typolink.parameter = www.domain.de _blank
  3. }

» http://www.typo3.net/forum/list/list_post//50987/?page=2

Profil

Kommentar von: steffen

06. 08. 2006, 11:20
es fehlt noch die Eigenschaft title

Typoscript:Zeilennummerierung:  An / Aus

  1. typolink.title = Ich bin der Titel


Profil

Kommentar von: Jo

13. 02. 2006, 14:45
Typoscript:Zeilennummerierung:  An / Aus

  1. 10 = TEXT
  2. 10.value = typo3.net/forum
  3. 10.typolink {
  4.     target = _self
  5.     parameter = http://www.typo3.net/forum/
  6. }
  7. 10.wrap = Hier bitte nur funktionierende Beispiele und Ergänzungen. Fragen und alles andere bitte ins <b> | </b> schreiben.



Kommentar von: peter

11. 06. 2005, 21:43
wie funktioniert ein einfacher textlink mit ts braucht man da ein tutorial?




Seite drucken
 
TYPO3 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

TYPO3 Workshops


TYPO3 Einführungsschulung
in Berlin:
Montag, 07.07.
in Espelkamp:
Montag, 04.08.

TYPO3 Intensivschulung
in Espelkamp:
Mi., 06.08. - Fr., 08.08.
in Würzburg:
Mo., 18.08. - Mi., 20.08.
in Köln:
Mo., 01.09. - Mi., 03.09.
in Berlin:
Mi., 24.09. - Fr., 26.09.

TYPO3 Extensionschulung
in Berlin:
Mo., 14.07. - Mi., 16.07.
in Espelkamp:
Mo., 11.08. - Mi., 13.08.