---
title: "Festgelegte Menüelemente nicht als Link darstellen"
url: "https://www.typo3.net/d/55263-festgelegte-menueelemente-nicht-als-link-darstellen"
source: "typo3.net"
tags: ["TYPO3","Menüs","Frage"]
created: "2006-12-20"
last_reply: "2006-12-24"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# Festgelegte Menüelemente nicht als Link darstellen

TYPO3 › Menüs · 1 Antwort · gestartet 2006-12-20

## Eröffnungsbeitrag

**crusher** · 2006-12-20 · [Beitrag #1](https://www.typo3.net/d/55263-festgelegte-menueelemente-nicht-als-link-darstellen/1)

Hi,

ich habe auf meiner aktuellen Seite eine Struktur ähnlich der Folgenden:

```php
rootlevel
 |
 |--mypage
     |
     |--p1
     |
     |--p2
     |  |
     |  |--p21
     |  |
     |  |--p22
     |
     |--p3
        |
        |--p31
        |
        |--p32
```

Für diese Struktur habe ich ein Text-Menü erstellt, welches alle Elemente in den zwei Ebenen unterhalb von 'mypage' ständig (mittels *expAll*) anzeigt.

Ich möchte nun speziell ausgewählte Elemente (hier: p2, nicht aber p3), die ein Untermenü haben, z.B. mittels *doNotLinkIt* als reinen Text ohne a-Attribut darstellen.

Ausprobiert habe ich bereits die Seiten als *spacer* zu definieren und den *SPC-Status* anzupassen, doch dann werden die Elemente der zweiten Ebene nicht angezeigt.
Weiterhin habe ich versucht über eine Condition den oben angesprochenen Wert zu setzen, doch dies gilt immer für alle Elemente ener Ebene, wenn die Bedingung erfüllt ist. Auch ist es mir nicht möglich die *ElementId* des TMENUITEMs zu erhalten.

Ideal wäre es eine *excludeList* zu haben, in der ich alle UIDs eintragen kann, die ohne a-Attribut dargestellt werden sollen.

Hat jemand eine Idee, wie man diese Aufgabe lösen könnte?

P.S.: Habe einige Probleme mit Conditions allgemein, da selbst die Standartbeispiele aus der Referenz bei mir nicht funktionieren. Gibt es Parameter, die in PHP oder TYPO3 gesetzt sein müssen?

## Antworten

### [#2](https://www.typo3.net/d/55263-festgelegte-menueelemente-nicht-als-link-darstellen/2) · crusher · 2006-12-24

Habe endlich eine sehr praktikable Lösung gefunden. Hierzu ist die Datei '*typo3/sysext/cms/class.tslib_menu.php*' zu editieren um einen weiteren TS-Befehl einzufügen. Verändert wird die Funktion '*extProc_afterLinking*' der Klasse '*tslib_tmenu*' (etwa auf Zeile 1785).

Die neue Funktion sieht folgendermaßen aus (die letzten Zeilen wurden für das Forum gekürzt dargestellt):

```php
function extProc_afterLinking($key)  {
  // Add part to the accumulated result + fetch submenus

  if (!$this->I['val']['spcSub']) {$this->I['val']['spcSub']=0;}
  if (!$this->I['spacer'] || $this->I['val']['spcSub']=1)  {
    this->I['theItem'].=$this->subMenu($this->I['uid'] ...
  }
  $this->WMresult.=$this->I['val']['wrapItemAndSub'] ...
}
```

Erzeugt wird ein neuer TS-Befehl '*spcSub*', mit dem sich in einem Textmenü nicht gelinkte Einträge mit Untermenüs erzeugen lassen. Dies ermöglicht eine viel nettere Ansicht von z.B. Menüabschnitten.
Um die Auswirkungen zu sehen ist im Seiten-Template ein TMENU unter Verwendung von '*expAll = 1*', '*spcSub=1*' und '*SPC=1*' zu verwenden. Die Menüabschnitte sind einfach als normale Seiten-Bäume im Backend zu erstellen, wobei der '*Titel des Abschnitts*' (oberste Seite des Teilbaums) als '*Spacer*' zu deklarieren ist.

Ein mögliches Menü könnte aus dem folgenden Skript erzeugt werden (Aussehen ist per CSS anzupassen):

```typoscript
...
NAVIGATION = HMENU
NAVIGATION.special = directory
NAVIGATION.special.value = XXX (Menü-Einstiegsseite)
NAVIGATION.entryLevel = XXX (Menü-Einstiegslevel)
  
NAVIGATION.1 = TMENU
NAVIGATION.1 {
  expAll = 1
  noBlur = 1
  spcSub = 1
  wrap = <ul>|</ul>
  NO = 1
  NO.wrapItemAndSub = <li>|</li>
  SPC = 1
  SPC < .NO
}    

NAVIGATION.2 < .NAVIGATION.1
```

Hoffe, dass irgend jemand diese Idee nützlich findet, ist auf jeden Fall hilfreich bei statischen Menüs mit wenig Stufen.

---

Quelle: „Festgelegte Menüelemente nicht als Link darstellen“, typo3.net, https://www.typo3.net/d/55263-festgelegte-menueelemente-nicht-als-link-darstellen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
