Zum Inhalt springen

Zustände von Menüelementen

Erstellt am 7. Januar 2008 · 4 Antworten · letzte Antwort am 8. Januar 2008

Tags: Frage

saddy77 ·

Ich habe folgendes ins Template geschrieben, um eine aktive Seite darzustellen:

lib.headmenu = HMENU
      lib.headmenu {
        special = directory
        special.value = 80
        1 = TMENU
        1 {
            noBlur = 1
            wrap = <div id="headmenu"> | </div>           
            NO = 1
            NO.linkWrap = <ol>&nbsp;|&nbsp;</ol>  
	  
	   CUR = 1
	   wrap = <ol>| </ol>
	   CUR.linkWrap = <ol>&nbsp;|&nbsp;</ol>  
	   CUR.ATagParams = class="active"
            CUR.doNotLinkIt = 1	   
	   	        }
                      }

Im CSS - Stylesheet habe ich ein a class="acitve" definiert. Leider verändert sich der Zustand der Anzeige nicht, wenn die Seite angeklickt ist. Weiss jemand, wo der Fehler sein könnte?

saddy77 ·

Ich habe nachgeschaut, da passiert nichts. Hier nun der Ausschnitt aus dem CSS

/* header */

#headmenu {
margin: 50px 10px 0px 0px;
padding: 5px;
float: right;

}
#headmenu ol {
line-height: 20px; display: inline;
list-style: none; margin: 0;
padding-left: 10px;
color:#FFF;
font-size: 14px;
font-weight: bold;
}

#headmenu ol a {color:#FFFFFF; text-decoration: none;}
#headmenu ol a:hover {color: #66CC99;}
#headmenu ol a.active {color:#66CC99; list-style:disc;}

Ich finde nicht raus, was da nicht stimmen könnte.

Unbekannter Benutzer ·

Also erstmal überschreibst du mit dem wrap aus dem CUR-Zustand wieder der wrap von 1, also der ersten Ebene. Damit killst du schonmal <div id="headmenu"> | </div> und ersetzt es durch <ol>| </ol>

Dann brauchst du NO nicht extra zu aktivieren. NO = 1 ist nicht nötig...

Dann zu deinem Problem.
Wenn du in deinem CUR ein doNotLinkIt schreibst und gleichzeitig eine ATagParams vergibst, wo doch gar kein <a href eingebaut wird, wo bitte soll denn dann die Class active reingeschrieben werden?
Die Class gehört dann ins <li>

Wobei ich gleich zum nächsten Problem/Fehler komme, denn du du hast gar kein li definiert. Also weder das ausgegebene HTML noch das TS ist korrekt.

Versuchs mal damit:

lib.headmenu = HMENU
lib.headmenu {
	special = directory
	special.value = 80
	1 = TMENU
	1 {
		wrap = <div id="headmenu"><ol> | </ol></div>
		noBlur = 1
		NO {
			linkWrap = <li> | </li>
		}
		CUR {
			linkWrap = <li class="active"> | </li>
			doNotLinkIt = 1
		}
		CUR = 1
	}
}

Ergibt in etwa folgenden Code:

<div id="headmenu">
        <ol>
                <li class="active"> 1. Listenpunkt (aktiv und nicht verlinkt) </li>
                <li> <a href="#">2. Listenpunkt</a> </li>
                <li> <a href="#">3. Listenpunkt</a> </li>
                <li> <a href="#">4. Listenpunkt</a> </li>
        </ol>
</div>