TYPO3 – Tutorial für ein TMENU mit dynamischen IDs oder Klassen {field:uid}

TYPO3 Logo

Suchst du nach einem TYPO3 TMENU, was dynamische Klassen oder IDs vergeben kann? Dann bist du nun fündig geworden.  Dieses Typoscript erstellt für jeden Menüpunkt eine eigene Klasse oder ID, je nachdem was du gerade brauchst. Dieser Typoscript wird besonders oft in Verbindung für Javascriptslider benutzt.

Diese Code liest die Seitenuid aus und hängen diese an deine Klasse/ID an. Dies ist möglich durch die Abfrage {field:uid}. Diese liest direkt die UID aus Datenbank aus. Es ist auch möglich auf jedes beliebige weitere Feld der Tabelle pages zuzugreifen.

Hier nun der Script:

page.20 = HMENU
page.20{

1 = TMENU
1{
expAll = 0
wrap = <ul>|</ul>

NO = 1
NO {
wrapItemAndSub= <li class="menu{field:uid}" id="menu{field:uid}">|</li>
wrapItemAndSub.insertData=1
}
}

2 < .1
}

 

Ergebnis sähe dann so aus:

<ul>
<li class="menu2" id="menu2">
<a href="index.php?id=2" onfocus="blurLink(this);" >Seite 1</a>
</li>
<li class="menu3" id="menu3">
<a href="index.php?id=3" onfocus="blurLink(this);" >Seite 2</a>
</li>
<li class="menu4" id="menu4">
<a href="index.php?id=4" onfocus="blurLink(this);" >Seite 3</a>
</li>
<li class="menu5" id="menu5">
<a href="index.php?id=5" onfocus="blurLink(this);" >Seite 4</a>
</li>
</ul>

 

Verbesserungsvorschläge oder Kritik? Dann schreibt mir 🙂

Das könnte dich auch interessieren:
Tutorial für ein einfaches TYPO3 TMENU
TYPO3 Standardformular mit Captcha schützen
TYPO3 Bildernamen ohne Hashwert erhalten
Contentelemente in einen neuen div wrappen – section_frame erweitern
TYPO3 Optionsplit Tutorial
Überschrift mit Farbverlauf mittels Typoscript rendern
Canonical Tag mit Typoscript erstellen

// EDIT am 26.5.2013 nach dem richtigen Hinweis von Can

MerkenMerken

6 Gedanken zu „TYPO3 – Tutorial für ein TMENU mit dynamischen IDs oder Klassen {field:uid}“

  1. Pingback: Typo3Forum
  2. Pingback: Anonymous
  3. So bekommt man Probleme mit untermenüs, deren ul ist dann nicht mehr im Parent-LI enthalten!

    Besser der allWrap kümmert sich nur um den ersten Teil und davor kommt ein :

    wrapItemAndSub = |
    allWrap= |

    So funktioniert das mit ID + Untermenü ordentlich verschachtelt.

    1. Danke für den Hinweis, das stimmt – vermutlich hatte ich beim Testen nur eine Ebene ausgelesen und 2 < .1 einfach so dazugeschrieben. Ich habe es oben angepasst. Vielen Dank!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert