Hallo Leute,
ich möchte gerne ein Menu bauen was in jedem <li> tag eine andere Klasse hat, um jeden einzelnen andres zu stylen, mit Hintergrundbild etc.
Hat jemand eine gute Lösung?
Kann inkrementiell sein, oder sich vom Menunamen ableiten...ist eigentlich Wurst hauptsache was anderes.
Wäre echt cool wenn jemand weiter weiss!!
Viele Grüße
Flip
Du könntest beispielsweise das Feld alias nehmen:
NO = 1
NO {
before.dataWrap = <li class="{field:alias}">|
wrapItemAndSub = |</li>
}
Vielen Dank für die Antwort,
was bewirkt denn "alias" und was genau macht "before.dataWrap"?
Setzt typo das dann in jeden li tag?
Gruß
Flip
Mein Vorschlag:
nicht das Feld alias nehemen, sondern die UID der Seite. Wenn du ein Feld nimmst, dann musst du in das Feld auch etwas hineinschreiben. Steht nichts drinn, wird gar keine Class verwendet. Nimmst du die UID ist die immer vorhanden und du kannst immer direkt per CSS stylen.
before setzt ein Element vor den Menüpunkt. dataWrap stellt dir das Auslesen der Felder sicher. wrapItemAndSub schließt die li's nur wenn es nötig ist.
Hier dann auch nicht mit Classen arbeiten, sondern lieber mit ID's. So kann man eine feste Class vergeben für alle Menüpunkte und eben die dynamische ID um jeden Menüpunkt ansprechen zu können.
temp {
FOO = HMENU
FOO {
1 = TMENU
1 {
wrap = <ul class="UL_CLASS">|</ul>
NO = 1
NO {
before {
dataWrap = <li class="FESTE_CLASS_FUER_LI1" id="li_special_{field:uid}">|
}
wrapItemAndSub = |</li>
}
}
2 < .1
2 {
wrap = <ul class="UL_CLASS_2">|</ul>
NO {
before {
dataWrap = <li class="FESTE_CLASS_FUER_LI2" id="li_special_{field:uid}">|
}
}
}
}
}
Das ist Perfekt!!!
Echt vielen dank an der Stelle für die Hilfe!!
Gruß
Flip
hi...
das its schonmal recht interessant, ich würde aber das ganze noch etwas ausweiten wollen. ist es vielleicht möglich nicht die UID in der CSS klasse zu übernehmen, sondern vielleicht anhand der UID eine auswahl treffen mit der "case" funktion ?
stdWrap.override.cObject = CASE
stdWrap.override.cObject {
key.field = uid
9 = TEXT
9 {
...
sowas in der art ? dann könnte man vielleicht zu jeder UID den genauen css-klassennamen hinterlegen !?
greez & thx, sky...
wollte doch nochmal meine lösung posten:
NO.stdWrap.override.cObject = CASE
NO.stdWrap.override.cObject {
key.field = uid
9 = TEXT
9 {
field = nav_title
wrap = <li class="mz">|</li>
}
10 = TEXT
10 {
field = nav_title
wrap = <li class="mzUni">|</li>
}
11 = TEXT
11 {
field = nav_title
wrap = <li class="bk">|</li>
}
12 = TEXT
12 {
field = nav_title
wrap = <li class="lu">|</li>
}
default = text
default {
field = nav_title
wrap = <li class="mz">|</li>
}
}
greez, sky...