Ich habe schon einiges hier im Forum gesucht und versucht es umzusetzten.
Leider finde ich zu den HMENU_MENUOBJ oder auch zu den count_ registern sehr wenig. AUch zu LOAD_REGISTER. 😢
Hat da vielleicht jemand ein Tipp/Link für mich?
Ich möchte jedem <li> eine Klasse geben, dabei sollen diese durchnummeriert werden. <li class="nr1">, <li class="nr2">, <li class="nr3">...
Eines meiner Versuche:
NAVMID = HMENU
NAVMID.special = directory
NAVMID.special.value = 25
NAVMID.entryLevel = 1
NAVMID {
1 = TMENU
1 {
wrap = <div class="navmid"><ul class="level1">|</ul></div>
expAll = 1
noBlur = 1
NO = 1
NO.allWrap = <li class="{register:count_HMENU_MENUOBJ}">|</li>
NO {
before.cObject = COA
before.cObject {
10 = TEXT
10.data = register:count_HMENU_MENUOBJ
10.wrap = |
}
}
}
2 < .1
2.wrap = <ul class="level2">|</ul>
}
Was da nicht gut ist, dass der Code nicht valide ist. Das <ul class="level2" muß ja innerhalb des entsprechendem <li> stehen!
Bislang habe ich das mit dem "wrapItemAndSub" valide T-Menüs aufbauen können.
Es gibt hier auch einen eigenen Counter.
#496301
Den könnte man integieren, jedoch das gleiche Problem, nicht valider Code.
Wie kann man eigentlich das wrapItemAndSub selber bauen? Ich denke da an doNotShowLink und before.
Für Tips bin ich sehr dankbar!!
😢
Hi,
suche auch so etwas änhliches, jedoch ist die sache bei mir einfacher
ich will einfachn nur dass das erste elment die classe navi1, das 2. navi2 usw bekommt.
Aber im moment klappts das nicht so ganz und die o.g. Beispiele helfen mir leider auch nicht sehr viel weiter :/
Noch besser wäre es für mich wenn das ganze bis zu einer Zahl (hier 9) zählen würde, also so
<!--3Elemente -->
<li class="navi7"><a ...></li>
<li class="navi8"><a ...></li>
<li class="navi9"><a ...></li>
<!-- 5Elemente -->
<li class="navi5"><a ...></li>
<li class="navi6"><a ...></li>
<li class="navi7"><a ...></li>
<li class="navi8"><a ...></li>
<li class="navi9"><a ...></li>
Ist das überhaupt möglich? - wenn ja wie?
Danke,
Typowasser
das schon gesehen?
#42777
lg georg
Ich werde das gelich mal nach dem Kochen ausprobieren. Ich habe immer nach durchnummerieren gesucht. :o
Die Suche ist doch ganz hilfreichen. Vielen lieben Dank für die schnelle Antwort.
Werde dann ein Beispiel posten. Danke!
Hi,
danke, ihr beiden 🙂
Eure Codes funktionieren zwar, aber ich habe leider das Problem, dass die erste Menüebene mitgezählt wird.
Ich brauche jedoch eine Nummerierung nur ab dem 2.Level
-->wie 'resette' ich den counter?
und bekomme ich das mit dem runterzählen auch irgendwie hin?
mir geht es halt v.a darum, dass das letzte element immer eine feste Zahl hat (und nicht das erste)
also wäre
<li class="navi3"><a ...></li>
<li class="navi2"><a ...></li>
<li class="navi1"><a ...></li>
natürlich auch möglich?
Habt ihr dafür auch eine Lösung?
Danke schonmal
typowasser schrieb
Noch besser wäre es für mich wenn das ganze bis zu einer Zahl (hier 9) zählen würde, also so
<!--3Elemente -->
<li class="navi7"><a></li>
<li class="navi8"><a></li>
<li class="navi9"><a></li>
Ist das überhaupt möglich? - wenn ja wie?
Das liegt nicht im Sinn der Sache. Du kannst/soltest nie eine maximale Anzahl von Menüs vorschreiben. Die Navigation ist der Zentrale Punkt eine Seite.
Was machst Du mit dem Menü 10 oder 13? Ich finde da liegt ein Fehler im Konzept vor. 🙂
Hi,
@MEller: ja da hast du recht, deshalb lieber die 2. variante, wo das unterste Element mit 1 beginnt und das erste mit der Anzahl Menüpunkten, so dass quasi von "Anzahl Der Menüpunkte" bis auf 1 heruntergezählt wird.
( ..., 5,4,3,2,1)
Wofür ich das ganze brauche ist einfach:
Ich möchte ein Menü machen wo die untersten 5 Elemente verschiedene Hintergrund Grafiken haben, und bei einem Rollover diese ausgetauscht wird.
Alle anderen bekommen dasselbe Hintergrundbild.
Warum die untersten fünf? - Weil sich unterhalb des Menüs noch eine Grafik befindet die das Hintergrund Muster des Menüs weiterführt.
🙂
Typowasser, dein Problem mit den unteren 5 kannst du doch mit OptionSplit lösen. Ich denke, dass ist für das Problem die elegantere Lösung.
Gruß
Christian
So. Es sieht schon mal relativ gut aus. Es hat jedoch zwei Fehlerchen. Es fängt nicht bei eins an und es werden die 2=TMENU mitgezählt.
1 = TMENU
1 {
noBlur = 1
expAll = 1
wrap = <div><ul class="level1">|</ul></div>
NO {
wrapItemAndSub = <li>|</li>
stdWrap.cObject = COA
stdWrap.cObject {
5 = TEXT
5.field = title
5.wrap = |
10 = TEXT
10.dataWrap ={register:count_MENUOBJ}
}
IFSUB=1
IFSUB < .NO
IFSUB.wrapItemAndSub = <li class="ifsub">|</li>
CURIFSUB=1
CURIFSUB < .NO
CURIFSUB.wrapItemAndSub = <li class="ifsub">|</li>
}
}
2 < .1
2.wrap = <ul class="level2">|</ul>
Es ist logisch es wird ausgegeben:
# Allgemein16
* Über uns17
* Warum bei uns?18
* Warum xyz ?19
# Club20
* EC 1 KWL21
* EC 2 KWL22
* EC 3 KWL23
# Test24
# Test125
# Test326
Es werden alle Menüs gezählt, auch die Untermenüs.
Es sollte aber sein:
# Allgemein1
* Über uns
* Warum bei uns?
* Warum xyz ?
# Club2
* EC 1
* EC 2
* EC 3
# Test3
# Test4
# Test5
Also nur die li der ersten Eben von eins ab hochzählen. Ich stehe auf dem Schlauch. Kann man das Register einfach zurücksetzen? Wenn ja wie, wo kann man lesen. Ich möchte mir das auch mit ein paar TIps selber erarbeiten.
Wenn ich das so nicht gehößt bekommen müßte ich die TMenuLayer einsetzen - und das wäre $%&/(W"§. 😢
Für Hilfe bin ich dankbar.
kitsunet: stimmt , du hast recht 🙂 - ich kenne mich eben mir ts leider noch nicht ganz so gut aus. - Danke für den Tipp
Ich habe nur ein Problem, die Priorität lautet doch last, first, middle, aber bei folgendem TS (splittet zur besseren Übersicht)
NO.allWrap = <li class="li_navi">|</li>|*|
<li class="li_navi1">|</li>||
<li class="li_navi2">|</li>||
<li class="li_navi3">|</li>||
<li class="li_navi4">|</li>||
<li class="li_navi5">|</li>
Erzeugt mir folgenden Code:
<ul class="uli">
<li class="li_navi"><a href="index.php?id=22" onfocus="blurLink(this);">Level 2 Test a 1</a></li>
<li class="li_navi1"><a href="index.php?id=21" onfocus="blurLink(this);">Level 2 Test a 2</a></li>
<li class="li_navi2"><a href="index.php?id=20" onfocus="blurLink(this);">Level 2 Test a 3</a></li>
</ul>
Aber ich bräuchte folgendes
<ul class="uli">
<li class="li_navi3"><a href="index.php?id=22" onfocus="blurLink(this);">Level 2 Test a 1</a></li>
<li class="li_navi4"><a href="index.php?id=21" onfocus="blurLink(this);">Level 2 Test a 2</a></li>
<li class="li_navi5"><a href="index.php?id=20" onfocus="blurLink(this);">Level 2 Test a 3</a></li>
</ul>
Wie muss ich da das optionsplit umschreiben?
@typowasser:
first |*| middle |*| last mit
davor | danach
und mit || als Trenner.
NO.allWrap = |*| |*| |*| <li class="li_navi1">|</li> || <li class="li_navi2">|</li>||<li class="li_navi3">|</li>||<li class="li_navi4">|</li>||<li class="li_navi5">|</li>
Hilft es?
Vielleicht kann man es auch ganz einfach dynamisch mit Transparenzen regeln? Die letzten fünf sinde nie die letzten fünf. Vergrößer mal die Schrift im IE oder im Firefox. Wäre schade, wenn es alles zerschießt.
Leider kann bei mir kein Optionsplit funktionieren. Ich möchte ja wie gesagt die ersten li der ersten Ebene zählen von eins angefangen und unabhänig von den Status CUR IFSUB uns CURIFSUB.
@meller da war zwar noch ein|*| zuviel drin, aber jetzt funktioniert es einwandfrei - DANKE! - ich wünsche dir noch viel Glück für dein Problem und hoffe dass du bald eine Lösung findest.
danke
Ein anderes Beispiel, aber es geht.... ;-)
NAVTOP = HMENU
NAVTOP {
special = directory
special.value = 1
1 = TMENU
1 {
# wrap = |
expAll = 1
noBlur = 1
NO {
doNotLinkIt = 1
stdWrap.cObject = COA
stdWrap.cObject {
150 = TEXT
150.field = uid
150.wrap = <a href="|/" style="
200 = TEXT
200.dataWrap = {register:count_MENUOBJ}
300 = TEXT
300.value = ">
400 = TEXT
400.field = title
}
}
}
}
Hallo zusammen
Mit interesse habe ich gerade diesen Post gelesen. Ich versuche etwas ähnliches zu machen.
Wie kann ich nun aber {register:count_MENUOBJ} auf die erste Menüebene beschränken? bei mir werden allfällige Subnavipunkte auch mitgezaählt. So entstehen immer andere Nummerierungen.
Besten Dank und Gruss
Mario
hast du eine Lösung dafür gefunden???
ich habe hier nämlich das gleiche problem!