Zum Inhalt springen

special = rootline und Ebebendarstellung

Erstellt am 16. Juli 2007 · 4 Antworten · letzte Antwort am 16. Juli 2007

Tags: Frage

dfluess ·

Hallo,

ich möchte in einer Rootline in Abhängigkeit der Ebene die Darstellung verschiedenfarbig darstellen

Home / rot / blau / grün

Jeder Level soll also in einer anderen Farbe dargestellt werden.

Habe festgestellt, dass folgendes keine Wirkung hat:

temp.roote = HMENU
temp.roote {
	special = rootline
	special.range = 2|-1
	1 = TMENU
	1.NO.ATagParams = class="red"
	2 = TMENU
	2.NO.ATagParams = class="blue"
	3 = TMENU
	3.NO.ATagParams = class="green"
}

Anscheinend werden für spezial rootline keine Levelangaben verwendet.

Hat jemand eine Idee, wie man das Problem lösen könnte?

dfluess ·

Nun der Code ist ein wenig exotisch, da ich ihn für andere Zwecke "missbrauche". Ich lasse für ein JSMenü CSS-Styles mit Hilfe der Rootline in den Header schreiben. Damit bleiben alle Unterebenen aufgeklappt. Hier der Code.. vielleicht ein Denkanstoß für andere mit ähnlichem Ziel...

Zunächst der Code, der alle Ebenen auf invisible setzt:

page.headerData.100.wrap = <style type="text/css"> /*<![CDATA[*/ <!-- | --> /*]]>*/ </style>
page.headerData.100 = HMENU
page.headerData.100 {
		entryLevel = 2
		1 = TMENU
		1 {
			expAll = 1
			NO {
				stdWrap.cObject = COA
				stdWrap.cObject.10 = TEXT
				stdWrap.cObject.10.field >
				before.cObject = TEXT 
				before.cObject.field = pid
				before.cObject.dataWrap = #layerId|
				after.cObject = TEXT 
				after.cObject.value  = {visibility:hidden;}
				after.cObject.htmlSpecialChars = 0 
				after.cObject.wrap =  |  
				doNotLinkIt = 1			
			}
		}
		2 < .1
		2.NO.before.cObject.dataWrap = #layerId_1_|
		3 < .1
		3.NO.before.cObject.dataWrap = #layerId_2_|
		4 < .1
		4.NO.before.cObject.dataWrap = #layerId_3_|
		5 < .1			
		5.NO.before.cObject.dataWrap = #layerId_4_|
	}

Hier werden alle Menüebenen die jeweils im Rootpfad liegen immer eingeblendet:

page.headerData.110.wrap = <style type="text/css"> /*<![CDATA[*/ <!-- | --> /*]]>*/ </style>
page.headerData.110 = HMENU
page.headerData.110 {
		special = rootline
		special.range = 2|-1
		1 = TMENU
		1 {
			expAll = 1
			NO {
				stdWrap.cObject = COA
				stdWrap.cObject.10 = TEXT
				stdWrap.cObject.10.field >
				before.cObject = TEXT 
				before.cObject.field = pid
				before.cObject.dataWrap ( 
				#layerId| ||
				#layerId_0_| ||
				#layerId_1_| ||
				#layerId_2_| || 
				#layerId_3_| || 
				#layerId_4_| || 
				#layerId_5_|
				)
				after.cObject = TEXT 
				after.cObject.value  = {visibility:visible;} 
				after.cObject.htmlSpecialChars = 0 
				after.cObject.wrap = |
				doNotLinkIt = 1
			}
		}
	}

Und hier der Code, der das Menü Erzeugt:

temp.list_menu = HMENU
temp.list_menu.entryLevel = 2
temp.list_menu {
	wrap = <div class="mainMenu">|</div>    
	1 = TMENU
	1 {
		stdWrap.dataWrap =  <div id="layerId_0_{field:pid}"><ul>|</ul></div>
		stdWrap.htmlSpecialChars = 0
		noBlur = 1
		expAll = 1
		NO {
			wrapItemAndSub = <li>|</li>
			ATagTitle.field = abstract // description // subtitle
			ATagBeforeWrap = 1
			}
		
		IFSUB < .NO
		IFSUB = 1
		IFSUB.ATagParams.insertData = 1
		IFSUB.ATagParams = onClick="MM_showHideLayers('1', '{field:uid}'); return false;" 
}

	2 < .1
	2.IFSUB.ATagParams = onClick="MM_showHideLayers('2', '{field:uid}'); return false;" 	
	2.stdWrap.dataWrap =  <div id="layerId_1_{field:pid}"><ul>|</ul></div>	
	3 < .1
	3.IFSUB.ATagParams = onClick="MM_showHideLayers('3', '{field:uid}'); return false;" 	
	3.stdWrap.dataWrap =  <div id="layerId_2_{field:pid}"><ul>|</ul></div>	
	4 < .1
	4.IFSUB.ATagParams = onClick="MM_showHideLayers('4', '{field:uid}'); return false;" 		
	4.stdWrap.dataWrap =  <div id="layerId_3_{field:pid}"><ul>|</ul></div>	
	5 < .1	
	5.IFSUB.ATagParams = onClick="MM_showHideLayers('5', '{field:uid}'); return false;" 		
	5.stdWrap.dataWrap =  <div id="layerId_4_{field:pid}"><ul>|</ul></div>	
}