---
title: "Parameter an externen Link anhängen"
url: "https://www.typo3.net/d/70261-parameter-an-externen-link-anhaengen"
source: "typo3.net"
tags: ["TYPO3","TypoScript","Frage","Links"]
created: "2007-11-08"
last_reply: "2009-03-27"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Parameter an externen Link anhängen

TYPO3 › TypoScript · 2 Antworten · gestartet 2007-11-08

## Eröffnungsbeitrag

**stephan_bauer** · 2007-11-08 · [Beitrag #1](https://www.typo3.net/d/70261-parameter-an-externen-link-anhaengen/1)

Hallo,

ich möchte per typoscript einen Paramter an einen externen Link in einem Text-Content-Element anhängen.
Z.B. im Textfeld steht der Link
<link www.test.de>Hier klicken</link>

An diesen Link möchte ich die aktuelle Sprache meiner Seite anhängen (z.B. ?lang=de)

Zusätzlich möchte ich noch eine per user_func
generierte Checksumme anhängen (z.B. &check=098f6bcd)

Ich habe mich zu tode gesucht und nichts gefunden.

Vielen Dank im Voraus.

Grüße

Stephan

## Antworten

### [#2](https://www.typo3.net/d/70261-parameter-an-externen-link-anhaengen/2) · jpsy · 2008-11-17

Ich hatte ein ähnliches Problem mit Menüpunkten, die z.T. auf eine externe Website verweisen sollten und dabei ebenfalls den L-Parameter mit übergeben sollten. Hat mich viel Zeit gekostet - vielleicht hilft Dir meine Lösung weiter.

TS-Setup:

```typoscript
config.sys_language_uid = 0
[globalVar = GP:L=1]
  config.sys_language_uid = 1
[global]
[globalVar = GP:L=2]
  config.sys_language_uid = 2
[global]
...

includeLibs.myUserFunctions = fileadmin/templates/php/ts_user_functions.php

...

# TS des Menüs in dem die externen URLs definiert sind:
lib.mainMenu = HMENU
lib.mainMenu {
  1 = GMENU
  1 {
    NO {
      allStdWrap.postUserFunc.langUID < config.sys_language_uid
      allStdWrap.postUserFunc = user_functions->user_addLangIdToExternalUrl
      ...
    }
  ...
  }
}
```

Die PHP-Function in der Datei ts_user_functions.php sieht so aus:

```php
<?php
class user_functions{
  function user_addLangIdToExternalUrl($content, $conf){
    // get params from calling TS
    $pLangUID = $conf['langUID'];  // config.sys_language_uid

    // if link type is "external url" replace link to redirecting page with external url and add language param
    if($this->cObj->data['doktype']==3){
      $content = preg_replace('/(<a[^>]*href=")[^"]*("[^>]*>)/i', '$1http://'.$this->cObj->data['url']."?L=$pLangUID".'$2', $content);
    }
    
    return $content;
  }
}
?>
```

Sollte so auch für TMENU funktionieren. Nebeneffekt ist, dass das href-Attribut der so modifizierten Links direkt die externe Adresse enthält und nicht die interne Seitenadresse, die dann redirected wird.

Viel Erfolg.

### [#3](https://www.typo3.net/d/70261-parameter-an-externen-link-anhaengen/3) · jpsy · 2009-03-27

Hier ist eine aktualisierte Version der obigen PHP-Function im File ts_user_functions.php. Diese Version berücksichtigt den URL-Type (http, https, ftp, mailto), der im Backend zusammen mit der URL-Eingabe gewählt werden kann:

```php
<?php
class user_functions{

  function user_addLangIdToExternalUrl($content, $conf){
    // get params from calling TS
    $pLangUID = $conf['langUID'];  // config.sys_language_uid

    // if link type is "external url" replace link to redirecting page with external url and add language param
    if($this->cObj->data['doktype']==3){
      $urlSchemes = array(0=>'', 1=>'http://', 2=>'ftp://', 3=>'mailto:', 4=>'https://');
      $content = preg_replace('/(<a[^>]*href=")[^"]*("[^>]*>)/i', '$1'.$urlSchemes[$this->cObj->data['urltype']].$this->cObj->data['url']."?L=$pLangUID".'$2', $content);
    }

    return $content;
  }

}
?>
```

---

Quelle: „Parameter an externen Link anhängen“, typo3.net, https://www.typo3.net/d/70261-parameter-an-externen-link-anhaengen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
