Zum Inhalt springen

Aktive Untermenüpunkte farblich abheben

Erstellt am 6. November 2012 · 2 Antworten · letzte Antwort am 6. November 2012

Tags: Frage

ThatTimmy ·

Hallo Leute,

ich bin noch totaler Typo3-Newbie und an meinem ersten Projekt zu Gange. Mein Problem derzeit ist die Hervorhebung aktiver Navigationspunkte. Bei der Hauptnavigation hat es noch recht einfach funktioniert:

 subparts.navi = HMENU
   subparts.navi {
         wrap = <ul class="navigation"> | </ul>
         excludeUidList = 24, 25, 26, 53
      
     # Die erste Ebene:
         entryLevel = 0
         1 = TMENU
         1.NO.wrapItemAndSub = <li> | </li>
         
        
         1.CUR = 1
         1.CUR < .1.NO
         1.CUR.ATagParams = class="active"
     
         1.ACT = 1
         1.ACT < .1.CUR
       
       }

Hier habe ich das eingesetzte Typoscript auch verstanden und wie das definieren einer "active"-Klasse hier seinen Zweck erfüllt.

Meine Subnavigation sieht nun wie folgt aus:

subparts.subnavi = HMENU
   subparts.subnavi {
  entryLevel = 1   
  1 = TMENU
  1 {
    expAll = 1
    wrap = <ul id="nav">|</ul>
    noBlur = 1
    NO = 1
    NO.wrapItemAndSub = <li>|</li>

    IFSUB = 1
    IFSUB.wrapItemAndSub = <li class="menuparent">|</li>
    ACTIFSUB < .IFSUB
  }
  2 < .1  
  2.wrap = <ul>|</ul>

  3 < .2
  4 < .2
}

Hier fällt es mir sehr schwer das Prinzip einer "active"-Klasse aufzugreifen. Kann mir jemand helfen bzw. bestenfalls mein Script modifiziert erneut posten?

Über jede Hilfe wäre ich sehr dankbar 😉

Norman2k ·

Du musst dein TS aus der Hauptnavigation, was für die Auszeichnung der aktiven Klasse verantwortlich ist, einfach in deine Subnavigation kopieren.
Und wenn du deine Klammern überall gleich setzt, ist es vielleicht auch ein bisschen übersichtlicher und leichter zu verstehen.

 subparts.navi = HMENU
subparts.navi {
	wrap = <ul class="navigation"> | </ul>
	excludeUidList = 24, 25, 26, 53

	# Die erste Ebene:
	entryLevel = 0
	1 = TMENU
	1 {
		NO = 1
		NO.wrapItemAndSub = <li> | </li>

		CUR = 1
		CUR < .NO
		CUR.ATagParams = class="active"

		ACT = 1
		ACT < .CUR
	}
}
subparts.subnavi = HMENU
subparts.subnavi {
	entryLevel = 1   
	1 = TMENU
	1 {
		expAll = 1
		wrap = <ul id="nav">|</ul>
		noBlur = 1
		
		NO = 1
		NO.wrapItemAndSub = <li>|</li>
		
		CUR = 1
		CUR < .NO
		CUR.ATagParams = class="active"

		ACT = 1
		ACT < .CUR

		IFSUB = 1
		IFSUB.wrapItemAndSub = <li class="menuparent">|</li>
		
		ACTIFSUB < .IFSUB
	}
	2 < .1  
	2.wrap = <ul>|</ul>

	3 < .2
	4 < .2
}
ThatTimmy ·

Vielen Dank! Das hat schon mal prima funktioniert!

Und wie bewerkstellige ich es dass auch beim Auswählen eines untergeordneten Punkts meiner Subnavigation der übergeordnete Punkt hervorgehoben bleibt.

Also sollte hier "Sub1.1" ausgewählt sein möchte ich dass "Sub1" immer noch hervorgehoben bleibt:

Haupt1
Haupt2 > Sub1 < Sub1.1
Haupt3