Links mit TypoSript anlegen

Aus Wikizone
Wechseln zu: Navigation, Suche

Typolinks mit TypoScript erzeugen

Quelle: http://www.mortox.de/typo3-tipps/typoscript-sammlung/typolinks.html Datum des Zugriffs: 13.6.2007

Es kommt hin und wieder vor, dass man mit Hilfe von TypoScript links auf unterschiedliche Seiten erstellen muss. Oft braucht man z.B. auch einen mailto-Link am footer der Seite oder man möchte einen Link auf seine AGBs erzeugen der als kleines Popup dargestellt werden soll.

Ein Typolink ist eine Eingeschaft des stdWrap, deshalb lässt er sich z.B. auf die cObjects TEXT oder HTML anwenden. Sehen wir uns z.B. folgendes Beispiel an:

temp.link1 = TEXT
temp.link1.typolink.parameter = 5

Unter der Eigenschaft typolink.parameter wird immer das Ziel des links angegeben. TYPO3 erkennt anhand des Typs um was für eine Art von link es sich handelt. In diesem Beispiel wurde eine Zahl verwendet, d.h. der Link zeigt auf die Seite mit der UID 5 - da kein value angegeben wurde ist der Linktext der Titel der Seite. Das nächste Beispiel zeigt einen mail-link:

temp.link2 = TEXT
temp.link2.value = Mail an Tom
temp.link2.typolink.parameter = tom@domain.de

Diesmal ist der Parameter eine Email Adresse: Der TypoScript-Parser erkennt das und wandelt den fertigen link in einen mailto-Link um. Wurde config.spamProtectEmailAddresses gesetzt, so wird der Link ensprechend der Einstellungen verschlüsselt. Popups durch Typolink

Es ist ebenfalls möglich, mit TypoScript einfache JavaScript-Popups zu erzeugen. Der Code für ein 500 mal 400 Pixel großes Fenster könnte so aussehen:

 temp.link3 = TEXT
 temp.link3.value = Popup-Fenster öffnen
 temp.link3.typolink {
    parameter = 10 500x400
    title = Hier klicken um Popup zu öffnen
    no_cache = 1
    JSwindow_params = menubar=0, scrollbars=0, toolbar=0, resizable=1
}

Der Link öffnet ein Popup mit dem Inhalt der Seite die die UID 10 hat. Dem parameter wird durch ein Leerzeichen getrennt der zweite Parameter mit der Fenstergröße übergeben. title ist wie der Name schon andeutet das title-Attribut des links und wurde hier zusätzlich definiert. Wenn no_cache auf 1 gesetzt ist, wird dem Link der Parameter ?no_cache=1 angehängt. Über JSwindow_params kann das Verhalten des sich öffnenden JavaScript-Fensters angepasst werden. Im gezeigten Beispiel wurde die Menüleiste, die Scrollbalken und die Werkzeugleiste ausgeblendet - stattdessen ist das Fenster skalierbar.

Ich denke dies sind die wichtigsten Eigenschaften wenn ihr typolinks verwenden wollt. Eine genaue Beschreibung findet man natürlich wie immer auf der TYPO3.org Homepage.

Zusätzliche Parameter[Bearbeiten]

mit additional Parameter z.B.

typolink.additionalParams = &category=12

Wird übernommen wie angegeben.

Aufwändiges Beispiel für Tip A Friend

# Nicht vergessen: in den Konstanten die Seite mit dem TipaFFiend Formular angeben
# baseURL muß gesetzt sein (mit abschließendem /)
temp.tipafriend = TEXT
temp.tipafriend{
    value = Seite versenden
    # Nur URL zurückgeben
    //typolink.returnLast = url
    typolink.parameter = {$plugin.tipafriend.PIDtipForm}
    typolink.additionalParams.cObject = COA
    typolink.additionalParams.cObject {
      # Dieser Teil erstellt den "tipUrl" Parameter im richtigen Format  (rawUrlEncoded)
      10 = COA
      10 {
          10 = TEXT
          10.data = TSFE:baseUrl
          # including all parameters from the query string.
          20 = TEXT
          20.typolink.parameter.data = page:uid
          20.typolink.addQueryString = 1
          20.typolink.addQueryString.exclude = id
          #nur URL (keine a Tags etc.)
          20.typolink.returnLast = url
          # Alles durch rawUrlEncoded parsen lassen
          # damit es als einzelner parameter übergeben werden kann
          stdWrap.rawUrlEncode = 1
      }
      wrap = &tipUrl=|
  }
   wrap = <li class="last">|</li></ul>
}