Zum Inhalt springen

menüpunkt hervorheben

Erstellt am 17. Oktober 2008 · 16 Antworten · letzte Antwort am 19. Oktober 2008

Tags: Frage

kingcasi ·

hi zusammen,
wie kann ich einen einzelnen menüpunkt einer ebene besonders hervorheben?
bsp:
-> test1
-> test2
-> test3
-> test4

alle menüpnkte sind rot, nur test2 soll in blau angezeigt werden.

ist das möglich?

danke kingcasi

karinchristina ·

Kommt drauf an, wie Du Dein Menü erstellst 8-)
Gib im Typoscript an, dass der aktive Menüpunkt eine eigene Klasse hat...

Beispiel für ein einfaches Menü:

lib.menu = HMENU
lib.menu {
  entryLevel = 0
  wrap = <ul id="mainmenu">|</ul>
  1 = TMENU
  1 {
      noBlur = 1
      expAll = 0
      NO = 1
      NO {
        allWrap = <li> | </li> 
        ATagTitle.field = 
      }
      CUR < .NO
      CUR {
        doNotLinkIt = 1
        allWrap = <li><span class="aktiv">|</span></li>
      }
      ACT < .NO
      ACT = 1
      ACT  {
      	allWrap = <li><span class="subistaktiv">|</span></li>
      }
  }
}

... und die Farbe definierst dann im Stylesheet

karinchristina ·

Hm.
Ungestestet, aber versuchs mal so:

<---snip---

NO {
  allWrap = <li class="{page:uid}"> | </li>
  }

---snap--->

und schreib in Dein Stylesheet eine Klasse die dann halt so heißt wie die uid Deiner Seite test2...

Hm.
... oder vielleicht noch besser:

<---snip---

NO {
  allWrap = <li> | </li>
  aTagParams = class="{page:uid}"
  }

---snap--->

... und wie gesagt, beides nur mal so eine Idee und ungetestet!

just2b ·

Hallo,

ja warum einfach wenns kompliziert auch geht 😉

temp.menu.1.NO {
	ATagParams = class="wichtig"
	ATagParams.if {
		isInList = 9
		value.field = uid
	}
}

9 wär die id der seite

georg

kingcasi ·

danke schon mal.
@just2b: kannst du mir den snippet mal kurz erläuter?
kenne ATagParams leider noch nicht...
danke

just2b ·

dazu könnte man es ja einfach in google eingeben.

das gibt dir eine klasse "wichtig" im link wenn die seiten-id der 9 entspricht

georg

kingcasi ·

danke.
wie sieht den die syntax aus wenn ich mehrere Seiten drin haben will?
habs weder per komma noch hintereinander geschrieben hinbekommen.
ein link zu ner vernünftigen ref reicht auch aus...

gruß kingcasi

kingcasi ·

bin mit der if-ref nicht weitergekommen.
Wollte das jetzt umgehen und zwie verschiedene Klassen einbauen mit:

subparts.VERTNAV.1.NO {
              ATagParams = id="wichtig"
        ATagParams.if {
                isInList = 12
                value.field = uid
              }
              ATagParams = id="wichtig1"
        ATagParams.if {
                isInList = 2
                value.field = uid
              }           
      } 

}

ging aber auch nicht...
warum das nicht?
danke, gruß

kingcasi ·

naja, warum das nicht ist eigentlich klar.
denke mal, dass er den obigen wert direkt überschreibt.
aber wie kan nich das denn lösen?
nehmen wir mal an ich will 4 seiten einer Ebene verschieden darstellen...

just2b ·

Hallo,

stimmt, du brauchst dir ja nur im TS Object browser anschauen was rauskommt! Das erste ist nicht mehr da!

ATagParams hat stdwrap, du hängst also ein COA dran und machst für jede möglichkeit eben ein 10 = COA ..., 20 = COA,.. und darin das if für diesen Zustand

georg

kingcasi ·

hi, danke für die Geduld;-)

komme aber echt nicht weiter.
habe zig Sachen ausprobiert, im Moment sieht es so aus:

subparts.VERTNAV.1.NO {
      ATagParams.cObject {
                      10 = COA
                      10.value = class="wichtig"
                      value.field = uid
                      10.if.isInList.field= 2
                      20 = COA
                      20.value = class="wichtig1"
                      value.field = uid
                      20.if.isInList.field= 12
                      }                                             
      }

da ziehts mir keine klasse rein.

Vorher hatte ich ne zeit lang alle sites ab 12 auf class="wichtig1".

bin echt zu rookie in TS...
Wie muß ich den Spass aufbauen?

danke

just2b ·

Hallo,

naja mit der Struktur wirds nicht gehen, aber der nächste Code sollte es eigentlich klar machen:

temp.menu.1.NO {
	ATagParams.stdWrap.cObject = COA
	ATagParams.stdWrap.cObject {
		10 = COA
		10 {
			10 = TEXT
			10.value = class="wichtig"
			
			if {
				value = 11
				isInList.field = uid
			}
		}
		20 <.10
		20 {
			10.value = class="wichtig1"
			if.value = 9,8
		}

	}                                             
}

mein Fehler war, das isInList mit dem value zu vertauschen. Das hat dann natürlich nur funktioniert, wenn 1 Wert angegeben war. Mit 2 muss es so wie oben ausschauen

georg

kingcasi ·

jau, jetzt klappts!
Vielen Danke, habe jetzt auch das gefühl, dass ich den Spass verstanden habe.
gruß kingcasi