---
title: "linkhandler: Eine Extension mehrere Anzeigeseiten"
url: "https://www.typo3.net/d/96481-linkhandler-eine-extension-mehrere-anzeigeseiten"
source: "typo3.net"
tags: ["Extensions","Frage","Links"]
created: "2010-02-05"
last_reply: "2010-02-05"
replies: 0
solved: false
page: 1
pages: 1
lang: "de"
---

# linkhandler: Eine Extension mehrere Anzeigeseiten

Extensions · 0 Antworten · gestartet 2010-02-05

## Eröffnungsbeitrag

**GoSnA** · 2010-02-05 · [Beitrag #1](https://www.typo3.net/d/96481-linkhandler-eine-extension-mehrere-anzeigeseiten/1)

Hallo an alle helfenden,

ich habe eine Extension die News bereitstellt und diese in drei Kategorien anbietet. Die Daten dafür sind in verschiedenen PIDs und werden ebenfalls in verschiedenen PIDs angezeigt.

Um nun das verlinken aus einer Seite auf diese News zu ermöglichen habe ich mir die Extension "linkhandler" zu hilfe gezogen.

Nun würde ich gerne diese drei Kategorien als Tab einzelnt angezeigt haben.

Dies klappt auch indem ich per Template Konfiguration folgendes eingebe:

```typoscript
plugin.tx_linkhandler {
	tx_meinplugin_1 {
		forceLink = 0
		parameter = 145
		additionalParams = &tx_meinplugin_pi1[nid]={field:uid}
   	  	additionalParams.insertData = 1 	
		useCacheHash = 1
	}
	tx_meinplugin_2 {
		forceLink = 0
		parameter = 49
		additionalParams = &tx_meinplugin_pi1[nid]={field:uid}
   	  	additionalParams.insertData = 1 	
		useCacheHash = 1
	}
}
```

und in dem TSConfig der Page

```typoscript
RTE.default.tx_linkhandler {
  tx_meinplugin_1 { 
    label=Pressemitteiltungen
    listTables=tx_meinplugin
    onlyPids= 145
  }
  tx_meinplugin_2 { 
    label=Kat 2
    listTables=tx_meinplugin
    onlyPids= 146
  }
}
RTE.default.tx_linkhandler.tt_news >
mod.tx_linkhandler {
  tx_meinplugin_1 {
    label=Kat 1
    listTables=tx_meinplugin
    onlyPids= 145
  }
  tx_meinplugin_2 { 
    label=Kat 2
    listTables=tx_meinplugin
    onlyPids= 146
  }
}
mod.tx_linkhandler.tt_news >
```

nun ist mir allerdings auch klar das linkhandler mit "record:tx_meinplugin:uid" arbeitet und dadurch nicht meine unterteilung in "tx_meinplug**_1**" arbeiten kann.

Gibt es nun eine mir unbekannte möglichkeit dieses zu ermöglichen?

Habe mir den aktuellen SVN Trunk geladen in der Hoffnung das sich dort einiges geändert hat, was in dem fall leider nichts geholfen hat...

Habe ebenfalls ein paar Modifikationen über "overwriteHandler" probiert, die sahen dann folgendermaßen aus:

```typoscript
RTE.default.tx_linkhandler {
  tx_meinplugin_1 { 
    label=Pressemitteiltungen
    listTables=tx_meinplugin
    overwriteHandler = record:tx_meinplugin_2
    onlyPids= 145
  }
}
```

allerdings musste ich dann in "class.tx_linkhandler_handler.php" ein paar Modifikationen einbauen damit er wieder die richtige Tabelle findet und die Links erstellt.

Habe die Zeilen:

```php
list ($recordTableName, $recordUid) = t3lib_div::trimExplode(':', $linkHandlerValue);
$recordArray = $this->getCurrentRecord($recordTableName, $recordUid);
```

durch:

```php
if (substr_count($linkHandlerValue,':') == 2)
	list ($recordItem, $recordTableName, $recordUid) = t3lib_div::trimExplode(':', $linkHandlerValue);
else
	list ($recordTableName, $recordUid) = t3lib_div::trimExplode(':', $linkHandlerValue);
$recordArray = $this->getCurrentRecord($recordTableName, $recordUid);
if ($recordItem) $recordTableName = $recordItem;
```

ersetzt.

Um nun sicher zu stellen das beim bearbeiten auch der Richtige Reiter ausgewählt wurde musste ich in "classes/class.txlinkhandler_recordTab.php" die funktion "getLinkBrowserInfoArray" wie folgt ersetzen:

Die Zeile:

```php
list($currentHandler, $table, $uid) = explode(":", $href);
```

durch diese Zeilen ersetzen:

```php
if (substr_count($href,':') == 3)
	list($currentHandler, $recordItem, $table, $uid) = explode(":", $href);
else
	list($currentHandler, $table, $uid) = explode(":", $href);
```

und die Zeile

```php
$info['act'] = $key;
```

durch diese ersetzen:

```php
if ($recordItem) {
	if ($currentHandler.':'.$recordItem == $tabConfig['overwriteHandler']) $info['act'] = $key;
} else {
	$info['act'] = $key;
}
```

Und nun zu meiner bescheidenen Frage: **Geht das einfacher?**

Oder kommt das noch in den kommenden Versionen?

Wenn nicht hoffe ich mit meinen Modifikationen anderen irgendwie weiterhelfen zu können ;)

LG
René

---

Quelle: „linkhandler: Eine Extension mehrere Anzeigeseiten“, typo3.net, https://www.typo3.net/d/96481-linkhandler-eine-extension-mehrere-anzeigeseiten
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
