---
title: "TypoLink in Backend Modules"
url: "https://www.typo3.net/d/39975-typolink-in-backend-modules"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage"]
created: "2006-03-21"
last_reply: "2011-06-30"
replies: 10
solved: false
page: 1
pages: 1
lang: "de"
---

# TypoLink in Backend Modules

Extensions › Entwicklung · 10 Antworten · gestartet 2006-03-21

## Eröffnungsbeitrag

**franky2** · 2006-03-21 · [Beitrag #1](https://www.typo3.net/d/39975-typolink-in-backend-modules/1)

Hallo,

ich arbeite gerade an einem "Backend Module" und benötige hier jetzt die (Frontend-)URL einer Seite.

Die PID der Seite habe ich. Da ich aber RealUrl verwende, möchte ich mir die URL von Typo3 bauen lassen.

Gibts da eine TypoLink-Funktion, die ich auch in einem Backend Module verwernden kann??

Gruß
Franky

## Antworten

### [#2](https://www.typo3.net/d/39975-typolink-in-backend-modules/2) · TRXde · 2006-03-28

tslib_pibase::pi_linkToPage schon angeschaut?

### [#3](https://www.typo3.net/d/39975-typolink-in-backend-modules/3) · franky2 · 2006-03-28

Ja, aber "pi" = PlugIn und das ist in einem Backend Module nicht verfügbar.

### [#4](https://www.typo3.net/d/39975-typolink-in-backend-modules/4) · steffenk · 2006-03-30

dann bind sie doch ein mit
require_once
und
t3lib_div::makeInstance

### [#5](https://www.typo3.net/d/39975-typolink-in-backend-modules/5) · semidark · 2007-06-21

hallo Franky

Ich hatte das gleiche Problem und bin es es folgendermaßen angegangen

pi_base ist meiner Meinung nach nicht die Lösung. Die Linkfunktionen greifen ohnehin auf tslib/class.tslib_content.php (cObj) zurück.

```php
#needed for TSFE
require_once(PATH_t3lib.'class.t3lib_timetrack.php');
require_once(PATH_t3lib.'class.t3lib_tsparser_ext.php');
require_once(PATH_t3lib.'class.t3lib_page.php');
require_once(PATH_t3lib.'class.t3lib_stdgraphic.php');

require_once($BACK_PATH.'sysext/cms/tslib/class.tslib_fe.php');
require_once($BACK_PATH.'sysext/cms/tslib/class.tslib_content.php');
require_once($BACK_PATH.'sysext/cms/tslib/class.tslib_gifbuilder.php');


function buildTSFE() {
	/* Declare */
	$temp_TSFEclassName = t3lib_div::makeInstanceClassName('tslib_fe');

		/* Begin */
	if (!is_object($GLOBALS['TT'])) {
		$GLOBALS['TT'] = new t3lib_timeTrack;
		$GLOBALS['TT']->start();
	}

	if (!is_object($GLOBALS['TSFE']) && $this->pid) {
		//*** Builds TSFE object
		$GLOBALS['TSFE'] = new $temp_TSFEclassName($GLOBALS['TYPO3_CONF_VARS'],$this->pid,0,0,0,0,0,0);

		//*** Builds sub objects
		$GLOBALS['TSFE']->tmpl = t3lib_div::makeInstance('t3lib_tsparser_ext');
		$GLOBALS['TSFE']->sys_page = t3lib_div::makeInstance('t3lib_pageSelect');

		//*** init template
		$GLOBALS['TSFE']->tmpl->tt_track = 0;// Do not log time-performance information
		$GLOBALS['TSFE']->tmpl->init();

		$rootLine = $GLOBALS['TSFE']->sys_page->getRootLine($this->pid);

		//*** This generates the constants/config + hierarchy info for the template.

		$GLOBALS['TSFE']->tmpl->runThroughTemplates($rootLine,$template_uid);
		$GLOBALS['TSFE']->tmpl->generateConfig();
		$GLOBALS['TSFE']->tmpl->loaded=1;

		//*** Get config array and other init from pagegen
		$GLOBALS['TSFE']->getConfigArray();
		$GLOBALS['TSFE']->linkVars = ''.$GLOBALS['TSFE']->config['config']['linkVars'];

		if ($GLOBALS['TSFE']->config['config']['simulateStaticDocuments_pEnc_onlyP'])
		{
			foreach (t3lib_div::trimExplode(',',$GLOBALS['TSFE']->config['config']['simulateStaticDocuments_pEnc_onlyP'],1) as $temp_p)
			{
				$GLOBALS['TSFE']->pEncAllowedParamNames[$temp_p]=1;
			}
		}
		//*** Builds a cObj
		$GLOBALS['TSFE']->newCObj();
	}
}
```

Damit hast du die "komplette" $GLOBALS['TSFE'] zur verfügung in der auch ein cObj Objekt vorhanden ist ($this->GLOBALS['TSFE']->cObj. Damit sollte man per typolink Funktion Links erstellen können.

Gruß Semidark

### [#6](https://www.typo3.net/d/39975-typolink-in-backend-modules/6) · josch1337 · 2011-05-03

Hi Semidark,

leider klappt das mit dem Aufruf der Funktion typolink nicht, ich erhalte immer nur einen "/" innerhalb des hrefs, woran kann das liegen?

Ich möchte gerne das er mir anhand der PID die passen URL liefert.

Kann mir hier jemand helfen?

Gruß
Berganderwe

### [#7](https://www.typo3.net/d/39975-typolink-in-backend-modules/7) · voancea · 2011-06-21

Hi josch,

hier meine Lösung:

```php
require_once(PATH_tslib.'class.tslib_fe.php');
require_once(PATH_t3lib.'class.t3lib_userauth.php');
require_once(PATH_tslib.'class.tslib_feuserauth.php');
require_once(PATH_t3lib.'class.t3lib_cs.php');
require_once(PATH_tslib.'class.tslib_content.php');
require_once(PATH_t3lib.'class.t3lib_tstemplate.php');
require_once(PATH_t3lib.'class.t3lib_page.php');
```

```php
function buildTSFE() {							
	$TSFEclassName = t3lib_div::makeInstanceClassName('tslib_fe');
										
	if (!is_object($GLOBALS['TT'])) {
		$GLOBALS['TT'] = new t3lib_timeTrack;
		$GLOBALS['TT']->start();
	}
			 
	// Create the TSFE class.
	$GLOBALS['TSFE'] = new $TSFEclassName($GLOBALS['TYPO3_CONF_VARS'],$this->pid,'0',1,'','','','');
	$GLOBALS['TSFE']->connectToMySQL();
	$GLOBALS['TSFE']->initFEuser();
	$GLOBALS['TSFE']->fetch_the_id();
	$GLOBALS['TSFE']->getPageAndRootline();
	$GLOBALS['TSFE']->initTemplate();
	$GLOBALS['TSFE']->tmpl->getFileName_backPath = PATH_site;
	$GLOBALS['TSFE']->forceTemplateParsing = 1;
	$GLOBALS['TSFE']->getConfigArray();				
}
```

dann die Funktion aufrufen und Link generieren:

```php
$this->buildTSFE();
$cObj = t3lib_div::makeInstance('tslib_cObj');
$cObj->start(array(),'');
$urlParameters = array('L' => 1);
$linkURL = $GLOBALS['TSFE']->config['config']['baseURL'].$cObj->getTypoLink_URL(3,$urlParameters);
```

Mit $urlParameters und "L" kanns Du auf verschiedene Sprachen zugreiffen.
In die letzte Zeile "3" bedeutet die Seite-uid.

Getestet in Typo3 4.5.2

Viel Spaß.

### [#8](https://www.typo3.net/d/39975-typolink-in-backend-modules/8) · ToBe · 2011-06-28

....such schon ewig genau dafür eine Löung!! #angry#

schon verrückt dass das nicht einfacher geht... :o

...probiers gleich mal aus und geb dann ma feedback!!

### [#9](https://www.typo3.net/d/39975-typolink-in-backend-modules/9) · ToBe · 2011-06-28

sauber voancea - das klappt bestens!!!

Hab da noch gleich ne andere Frage, wie mach ich das am geschicktesten mit BE-Links. Also zB. im BE-Modul wieder mod1/index.php aufrufen + nen Parameter übergeben?

### [#10](https://www.typo3.net/d/39975-typolink-in-backend-modules/10) · aemka · 2011-06-29

Ich würde im Backend wie im Frontend mit einer Templating-Sprache wie fluid arbeiten. Dort sollte es entsprechende viewhelper / Methoden für Link-Generierung geben.

### [#11](https://www.typo3.net/d/39975-typolink-in-backend-modules/11) · ToBe · 2011-06-30

ok  - denke dann werd ich mir das mal näher anschauen.

Kommt man denk ich mal eh nicht drumherum, wenn man in Zukunft brauchbare Extensions schreiben will...

Danke!!

Tobi

---

Quelle: „TypoLink in Backend Modules“, typo3.net, https://www.typo3.net/d/39975-typolink-in-backend-modules
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
