---
title: "typolink in Extension"
url: "https://www.typo3.net/d/109715-typolink-in-extension"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage","Links","PHP"]
created: "2012-03-08"
last_reply: "2012-03-12"
replies: 3
solved: false
page: 1
pages: 1
lang: "de"
---

# typolink in Extension

Extensions › Entwicklung · 3 Antworten · gestartet 2012-03-08

## Eröffnungsbeitrag

**Philipp88** · 2012-03-08 · [Beitrag #1](https://www.typo3.net/d/109715-typolink-in-extension/1)

Hallo,

in meiner Extension hab ich per typolink folgenden Link zusammengestellt:

```php
$url = t3lib_div::locationHeaderUrl() . $this->pi_linkTP_keepPIvars_url();
         $title = $record['ueberschrift'];
         
         $link = array("parameter" => 39, "additionalParams" => "&tx_powermail_pi1[uid25]=$title&&tx_powermail_pi1[uid26]=$url&" . $this->prefixId.'[cat]' . "&wohnung");
```

Doch meine $url wird nicht richtig dargestellt, und habe deshalb Probleme die aktuelle URL in mein HIDDEN- Feld einzutragen :(
Die URL sieht so aus (schon beim verlinken!)

```html
a href="index.php?id=39&tx_powermail_pi1%5Buid25%5D=G%C3%BCnstig%20Wohnen&tx_powermail_pi1%5Buid26%5D=http%3A%2F%2Flocalhost%2Ft3%2Findex.php%3Fid%3D33&no_cache=1&tx_imokat_pi1%5Blay%5D=1&tx_imokat_pi1%5Bitem%5D=1&tx_imokat_pi1%5Bcat%5D=&wohnung=">[/
```

Wie bekomme ich die Sonderzeichen wieder wie "[", "]", "http://" und "&" in der URL hin?

Gruß,
Philipp88

## Antworten

### [#2](https://www.typo3.net/d/109715-typolink-in-extension/2) · vince · 2012-03-12

hallo,

das mit $url = usw. brauchst du eigentlich nicht,

das hier sollte reichen:

```php
$new_pivars = array();//hier neue Parameter setzen ( "name" => "wert", "name2" => "wert2" )

$link = $this->pi_linkTP_keepPIvars_url($new_pivars);
```

kleine Blick in die API:
<http://doc-typo3.ameos.com/4.1.0/classtslib__pibase.html#b565c0ba88672ba3f2728592d0888d98>

sehe ich das richtig, dass du ein Bild verlinken willst? dann benutze lieber  die Methode pi_linkTP_keepPIvars

wenn du den Pfad von dem Bild als get-parameter übergeben willst, solltest du url_encode verwenden

Gruß,
vince

### [#3](https://www.typo3.net/d/109715-typolink-in-extension/3) · Philipp88 · 2012-03-12

Nein ich möchte von meiner Extension eine anderen Seite (Zum Kontaktformular) verlinkt werden. Desalb auch $url wo er den Kontaktformular miteilt von welcher Seite das Formular aufgerufen wurde und in einem hidden- Feld eingetragen wird (hier Powermail).

urlenencode hat ich schon vor $url probiert, sah immer noch so aus:(

### [#4](https://www.typo3.net/d/109715-typolink-in-extension/4) · vince · 2012-03-12

pi_linkTP_keepPIvars_url( $overrulePIvars = array(),$cache = 0,$clearAnyway = 0,$altPageId = 0)

hat noch ein paar weitere Parameter (API!): $altPageID gibt die Zielseite an (der default wert ist die aktuelle Seite)
clearAnyway = 0 bedeutet, dass die piVars beibehalten werden
cache = 0 bedeutet, dass no_cache=1 dranngehängt wird

powermail-parameter (z.B. tx_powermail[irgendwas]) wird hier nicht gehen, daher musst du diese Parameter nachträglich hinzufügen.
z.B. könntest du sowas schreiben (sofern $link die url enthält): $link .= "&tx_powermail[name]=wert";

PS: um Zeichen wie "[", "]", "http://" und "&" usw. wieder hinzubekommen: url_decode($param)

---

Quelle: „typolink in Extension“, typo3.net, https://www.typo3.net/d/109715-typolink-in-extension
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
