---
title: "Parameter im typolink ändern u.a Sprachwechsel"
url: "https://www.typo3.net/d/14277-parameter-im-typolink-aendern-ua-sprachwechsel"
source: "typo3.net"
tags: ["Allgemein","Frage","Links"]
created: "2004-08-04"
last_reply: "2004-08-06"
replies: 3
solved: false
page: 1
pages: 1
lang: "de"
---

# Parameter im typolink ändern u.a Sprachwechsel

Allgemein · 3 Antworten · gestartet 2004-08-04

## Eröffnungsbeitrag

**Martoro** · 2004-08-04 · [Beitrag #1](https://www.typo3.net/d/14277-parameter-im-typolink-aendern-ua-sprachwechsel/1)

ich baue gerade einen Sprachwechsellink allerings möchte ich nicht die standardmethode aus /media/scripts/example_languageMenu nutzen da ich noch weitere parameter auf der seite nutze und die sonst alle von hand in dem script einbauen müsste

```typoscript
menu.Flag.10 = TEXT
menu.Flag.10.value = deutsch
menu.Flag.10.typolink.parameter.data = field:uid
menu.Flag.10.typolink.additionalParams= &Lang=en
```

bisher gibt es zwei parameter Lang(en/de) Flash(on/off) und die sollen natürlich erhalten bleiben. es könnten aber noch mehr werden und daher möchte ich mich da nicht festlegen
der code oben funktioniert. allerdings wird der string "&Lang=en" einfach an den url string anghängt das füht dann u.a zu derartigen url's

```plaintext
index.php?id=1&Lang=de&Lang=en
```

Frage
1. ist das problematisch das die Lang Variable im url string zweimal vorkommt
2. wie kann in einem typolink einen Parameter überschreiben und alle anderen einschließlich der id erhalten

möglicherweise habe ich auch die funktionen der typolink property noch nicht ganz verstanden

danke schonmal Martin

## Antworten

### [#2](https://www.typo3.net/d/14277-parameter-im-typolink-aendern-ua-sprachwechsel/2) · Gatekeeper · 2004-08-06

Das Problem habe ich auch!
Alledings scheint trotzdem alles zu klappen.

### [#3](https://www.typo3.net/d/14277-parameter-im-typolink-aendern-ua-sprachwechsel/3) · Martoro · 2004-08-06

ich bin der antwort auf der spur

TYPOSCRIPT

```typoscript
CONFIG.10.typolink.params.type = 98
CONFIG.10.typolink.userFunc = user_Functions->addLinkParam
```

PHP

```php
<?php
class user_Functions {
   var $cObj;    

   function addLinkParam ($content, $conf) {

      t3lib_div::debug( $content );
      t3lib_div::debug( $conf);  

      return '<A HREF="'.$content["url"].'"'.$content["targetParams"].$content["aTagParams"].'>';
   }
}
?>
```

Aber wie bekomme ich nun einen parameter an das script übergeben
soweit ich das bisher verstanden habe sollten doch die parameter als array  übergeben werden

ich erwarte also bei conf einen array der so ausieht

```plaintext
array("params"->array("type"->"98") )
```

allerdings konnt bei $conf gar nix an ... wo ist der denkfehler und wie setze ich parameter dafür

gruß Martin

### [#4](https://www.typo3.net/d/14277-parameter-im-typolink-aendern-ua-sprachwechsel/4) · Martoro · 2004-08-06

Ich habs jetzt
Script

```typoscript
typolink.userFunc = user_Functions->addLinkParameters
typolink.userFunc.Lang = de
```

PHP

```php
<?php
# Allgemeine Funktionsklasse
# Author Martin Ficzel

class user_Functions {
   function addLinkParameters ($content,$conf) {
        # Parameter von url lösen
        $newURLArray = explode("?", $content["url"], 2);
        $newURLFile = $newURLArray[0];
        $newURLParams = $newURLArray[1];
        $newParamString = "";

        if ( isset($newURLParams) ) {
            # Parameter Array zerlegen
            $paramArray = explode("&", $newURLArray[1] );
            $oldParams = Array();
            foreach (array_keys($paramArray ) as $key) {
                #werte und keys zerlegen
                $temp = explode("=", $paramArray[$key],2);
                if (count($temp) ==2) { 
                    # und im assoziativem array ablegen
                    $oldParams[$temp[0]] = $temp[1];
               }
            } 
            # array conf auf array mappen
            $newParams = array_merge ($oldParams, $conf); 
            # parameter string wieder zusammensetzen
            $paramArray = Array();
            foreach (array_keys($newParams) as $key) {
                $paramArray[$key] = $key."=".$newParams [$key];
            }
            $newParamString = implode("&",  $paramArray );
        }
        # parameter und url wieder zusammensetzen
        $newURL = $newURLFile."?".$newParamString;
        # ATag zurüchgeben
        return '<A HREF="'. $newURL.'"'.$content["targetParams"].$content["aTagParams"].'>';
    }
}

?>
```

jetzt kannst du über
typolink.userFunc.myVar = myValue
beliebige Variablen dem Link mitgeben und die alten werte werden überschrieben

gruß Martin

---

Quelle: „Parameter im typolink ändern u.a Sprachwechsel“, typo3.net, https://www.typo3.net/d/14277-parameter-im-typolink-aendern-ua-sprachwechsel
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
