---
title: "realUrl und Links in PHP-Skript"
url: "https://www.typo3.net/d/78306-realurl-und-links-in-php-skript"
source: "typo3.net"
tags: ["Extensions","Frage","Links","RealURL"]
created: "2008-06-11"
last_reply: "2008-06-11"
replies: 8
solved: false
page: 1
pages: 1
lang: "de"
---

# realUrl und Links in PHP-Skript

Extensions · 8 Antworten · gestartet 2008-06-11

## Eröffnungsbeitrag

**dannyKay** · 2008-06-11 · [Beitrag #1](https://www.typo3.net/d/78306-realurl-und-links-in-php-skript/1)

Hallo, allerseits!

Ich habe gerade ein Typo3-Projekt in Arbeit, und habe mir wegen der komplexen Menüstruktur (fünf Ebenen in zwei Navi-Elementen) ein PHP-Skript geschrieben.

Seit gestern habe ich realUrl im Einsatz.

Nur kriege ich jetzt im PHP-Skript natürlich keine realUrl-konformen Links zustande, zumal das Skript natürlich ausserhalb der Typo3-Klassenstruktur liegt.

Was kann ich tun?

Vielen Dank fürs Lesen

## Antworten

### [#2](https://www.typo3.net/d/78306-realurl-und-links-in-php-skript/2) · just2b · 2008-06-11

Hallo und willkommen im Forum,

oh Überrschung würd ich sagen ;)

das script mit der TYPO3-API schreiben. TMENU & Co kann komplexe Menüs schon auch handlen

georg

### [#3](https://www.typo3.net/d/78306-realurl-und-links-in-php-skript/3) · dannyKay · 2008-06-11

> **just2b schrieb:**
>
> Hallo und willkommen im Forum,
>
> oh Überrschung würd ich sagen ;)
>
> das script mit der TYPO3-API schreiben. TMENU & Co kann komplexe Menüs schon auch handlen
>
> georg

Das hatte ich befürchtet :-(

Alternativ könnte man auch per Kickstarter eine echte Extension aus der Navi machen...

### [#4](https://www.typo3.net/d/78306-realurl-und-links-in-php-skript/4) · just2b · 2008-06-11

zeig doch mal dein menü

georg

### [#5](https://www.typo3.net/d/78306-realurl-und-links-in-php-skript/5) · dannyKay · 2008-06-11

> **just2b schrieb:**
>
> zeig doch mal dein menü
>
> georg

Du hast es so gewollt:

```typoscript
10.workOnSubPart = DOKUMENT
10.marks {
  MAIN_MENU = PHP_SCRIPT_EXT 
  MAIN_MENU.file = fileadmin/includes/php/primarynavigation.php
...
```

```php
<?php
$content = generatePrimaryNavigation();
return $content;

function generatePrimaryNavigation()
{
	//$content .= print_r($GLOBALS["TSFE"]); 
	$content .= "<ul class='firstLevelMenu'> \n";
	
	//$content =  $htmlTemplate;
	$query = "SELECT uid, title FROM pages WHERE pid=123 AND deleted = 0 AND hidden = 0 ORDER by sorting"; // get first level
	$res = mysql(TYPO3_db,$query);   
	while($row=mysql_fetch_assoc($res))    
	{            
		// menu open or closed?
		if($row["uid"] == $GLOBALS["TSFE"]->id || $row["uid"] == $GLOBALS["TSFE"]->rootLine[2]["pid"])
		{
			$menuStatus1 = "menuOpened";
			$menuStatus2 = "block";
		}
		else
		{
			$menuStatus1 = "menuClosed";
			$menuStatus2 = "none";
		}
//		$content .= "--" . $row["uid"] . "<br>";  
		$content .= "<li id='menu-" . $row["uid"] . "' class='firstLevelMenuItem' onMouseOver='openPrimarySubMenu(\"menu-" . $row["uid"] . "\");' > \n";
		$content .= "<div class='firstLevelMenuItemDiv'><a href='index.php?id=" . $row["uid"] . "'>" . $row["title"] . "</a ></div> \n";
		$content .= "	<ul id='sub-menu-" . $row["uid"] . "' class='secondLevelMenu " . $menuStatus1 . "' style='display: " . $menuStatus2 . "' > \n";
		
		$query2 = "SELECT uid, title FROM pages WHERE pid=" . $row["uid"] . " AND deleted = 0 AND hidden = 0 ORDER by sorting"; // get first level
		$res2 = mysql(TYPO3_db,$query2);   
		while($row2=mysql_fetch_assoc($res2))    
		{            
			$content .= "		<li><a href='index.php?id=" . $row2["uid"] . "'>" . $row2["title"] . "</a></li> \n";
		}  
		$content .= "	</ul> \n";
		$content .= "</li> \n";
		
	}  
	$content .= "</ul> \n";
	
	return $content;

}
?>
```

Im Prinzip ist das nur ein verschachteltes ul-Konstrukt, aber wegen JS-Effekten bin ich ganz eigen, was die Benennung von divs etc angeht.

Es erschien mir einfacher, das per PHP zu machen, als mich soooo in TS einzufuchsen...

Edit:
Das ist natürlich nur eins von den beiden Navi-Elementen. Das zweite is noch komplexer.
Macht das Sinn, da eine Extension draus zu machen, damit ich überhaupt schon mal sozusagen im typo3-Namensraum bin?

### [#6](https://www.typo3.net/d/78306-realurl-und-links-in-php-skript/6) · just2b · 2008-06-11

naja wenn man halt soooviel TYPO3 nicht will, kann man auf der anderen Seite auch nicht verlangen, dass alle Vorteile genützt werden können.

Nichtdestotrotz sollte das mit einem TMENU locker gehen, aber nicht ohne grund hätt ich nach dem Menü und nicht dem Script gefrag ;)

georg

### [#7](https://www.typo3.net/d/78306-realurl-und-links-in-php-skript/7) · dannyKay · 2008-06-11

> **just2b schrieb:**
>
> naja wenn man halt soooviel TYPO3 nicht will, kann man auf der anderen Seite auch nicht verlangen, dass alle Vorteile genützt werden können.
>
> Nichtdestotrotz sollte das mit einem TMENU locker gehen, aber nicht ohne grund hätt ich nach dem Menü und nicht dem Script gefrag ;)
>
> georg

Okay, dann leg ich mir die TMENU-Doku noch mal unter's Kopfkissen :-)

Hast Du zu dem Thema irgendwo ein Lieblingstutorium rumliegen, das Du empfehlen kannst?

### [#8](https://www.typo3.net/d/78306-realurl-und-links-in-php-skript/8) · just2b · 2008-06-11

zB [/d/65143-die-wichtigsten-menues-in-typo3-auf-einem-blick](https://www.typo3.net/d/65143-die-wichtigsten-menues-in-typo3-auf-einem-blick)
schau dir hier mal das dropdown menü an, nur mal als tipp

georg

### [#9](https://www.typo3.net/d/78306-realurl-und-links-in-php-skript/9) · dannyKay · 2008-06-11

> **just2b schrieb:**
>
> zB [/d/65143-die-wichtigsten-menues-in-typo3-auf-einem-blick](https://www.typo3.net/d/65143-die-wichtigsten-menues-in-typo3-auf-einem-blick)
> schau dir hier mal das dropdown menü an, nur mal als tipp
>
> georg

Cool, besten Dank.

Nachtrag: Du gute Güte, da hast Du Dir aber Arbeit gemacht! Wenn's danach nicht klappt, bin ich wohl selber schuld.

Vielen Dank dafür.

---

Quelle: „realUrl und Links in PHP-Skript“, typo3.net, https://www.typo3.net/d/78306-realurl-und-links-in-php-skript
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
