Zum Inhalt springen

Suche Lösung für dynamische class in <li>-Tag <li class"dynamisch">

Erstellt am 20. März 2008 · 2 Antworten · letzte Antwort am 21. März 2008

Tags: Frage

swiss-ives ·

Hallo zusammen,
ich brüte schon seit mehr als 4 Tagen an dem Problem herum und komme auf keinen grünen Zweig.
Um es vorweg zu nehmen, ich bin blutiger Typo3-Anfänger. Höchstwahrscheinlich suche ich an der falschen Stelle und das Problem ist gar nicht so gross. Nur eben, ich finde den richtigen Ansatz nicht. Oder eben ich muss noch ein wenig mehr lernen ;-)

Hier also mein Aufgabe/Problem.
Ich möchte ein Menü als undefinierte Liste <ul> <li> ... aufbauen. Soweit habe ich das auch geschafft. Weiter möchte ich dem <li>-Tag eine Klasse <li class="test"> mitgeben damit ich es via CSS ansteuern kann. Das habe ich auch geschafft.
Jetzt aber mein Problem: Die Klasse class="test" möchte ich dynamisch eingefügt haben. Zum Beispiel auf dem Datenbankfeld (DBF) "title", so das es als class"..." die den Namen aus der DBF "title" hat.
Ich brauche das damit ich jeder Listeneintrag <li> und der dazugehörigen class"..." separat ansteuern kann.
Ausgabe im HTML sollte z. B.

<li class="Start"> balbalbal </li>
<li class="News"> balbalbal </li>
<li class="Kontakt"> balbalbal </li>
usw.

Ich hoffe mich einigermassen verständlich ausgedrückt zu haben.

Weiss ja jemand Rat.

Hier mal das was ich bis jetzt gescriptet habe:

MENU_LEFT = HMENU
MENU_LEFT {
special = directory
special.value = 2
1 = TMENU
1 {
wrap = <div id="menuLeft"><ul>|<ul></div>
NO = 1
NO {
# Leider ist dies nur eine Statische "class" und nicht Dynamisch wie ich es gerne hätte.
wrapItemAndSub = <li class="link">|</li>
}
}

Danke für eure Hilfe.
Gruss, Ives

jochen ·

Hi swiss-ives,

der Menüzustand "NO" sollte so aussehen:

NO {
  allWrap = <li class="{field:title}"> | </li>
  allWrap.insertData = 1
}

Ich wäre vorsichtig, den Titel der verlinkten Seite als class zu nehmen, weil der ja auch Leerzeichen enthalten kann - dann hast Du mehrere CSS-Klassen. Vielleicht nimmt man statt "field:title" lieber "field:alias"?

Grüße
Jochen

swiss-ives ·

Hi Jochen,

super, danke. Es hat geklappt.
Ich hatte beim suchen und pröbeln ein ganz ähnliches Skript aber das hatte nicht funktioniert. Das es so einfach ist, ... , hätte ich auch selbst drauf kommen können.

Danke nochmals das du mich auch den richtigen Weg gebraucht hast.
Das mit dem Alias mache ich. Es ging mir in erster Linie um das Prinzip/Funktion wie ich das Skript schreiben muss.

Danke, Gruss
Ives