Zum Inhalt springen

HMENU mit bedingtem Entrylevel

Erstellt am 26. September 2011 · 1 Antwort · letzte Antwort am 26. September 2011

Tags: Frage

nsell ·

Hi Leute!
Ich habe folgendes Problem; Und zwar habe ich ein HMENU, dass ein Level in die Tiefe geht. Es ist auf Entrylevel -1. Es wird überall genau richtig angezeigt, aber ich möchte gerne, dass auf Seiten, die keine Unterseiten mehr haben, dass Entrylevel auf -2 springt, also die darüberliegenden Punkte nochmals anzeigt, und das aktive, in dem man sich befindet, eine andere CSS Klasse erhält. Hier mein TS:

lib.subnavigation = HMENU
lib.subnavigation.entryLevel = -1
lib.subnavigation.1 = TMENU
lib.subnavigation.1 {
   expAll = 1
   wrap = <ul class="subnavi">|</ul>
   NO {
     wrapItemAndSub = <li class="normal">|</li>
     RO=1
   }
   
  ACT < NO
  ACT = 1
  ACT {
     wrapItemAndSub = <li class="active">|</li>
     stdWrap.htmlSpecialChars = 1   
  }
}

#2.EBENE
lib.subnavigation.2 < lib.subnavigation.1
lib.subnavigation.2 {
  wrap = <ul class="subnavi2"> | </ul>
  NO.wrapItemAndSub = <li class="normal">|</li>
  
  ACT < NO
  ACT = 1
  ACT.wrapItemAndSub = <li class="active">|</li>
  ACT.stdWrap.htmlSpecialChars = 1
}

Wie realisiere ich das nun? Jetzt wird natürlich kein Unterpunkt auf der Seite angezeigt, wo keine Unterseiten mehr sind.

Ich habe das zwar folgendermaßen hinbekommen, aber dann wird die zweite Ebene nicht gelistet:

  lib.subnavigation = COA
  lib.subnavigation {
    10 = HMENU
    10 {
      if.isTrue {
        numRows {
         table = pages
         select.pidInList.data = TSFE:id
        }
      }
      entryLevel = -1
      1 = TMENU
      1 {
        expAll = 1
        wrap = <ul class="subnavi">|</ul>
        NO {
         wrapItemAndSub = <li class="normal">|</li>
         RO=1
        }
       
	      ACT < NO
	      ACT = 1
	      ACT {
	         wrapItemAndSub = <li class="active">|</li>
	         stdWrap.htmlSpecialChars = 1   
	      }
      }
      
      2 < 1
      2 {
			  wrap = <ul class="subnavi2"> | </ul>
			  NO.wrapItemAndSub = <li class="normal">|</li>
			  
			  ACT < NO
			  ACT = 1
			  ACT.wrapItemAndSub = <li class="active">|</li>
			  ACT.stdWrap.htmlSpecialChars = 1      
      }
    }

    20 = HMENU
    20 {
      if.isFalse {
        numRows {
         table = pages
         select.pidInList.data = TSFE:id
        }
      }
      entryLevel = -2
      1 = TMENU
      1 {
       expAll = 1
       wrap = <ul class="subnavi">|</ul>
       NO {
         wrapItemAndSub = <li class="normal">|</li>
         RO=1
       }
       
      ACT < NO
      ACT = 1
      ACT {
         wrapItemAndSub = <li class="active">|</li>
         stdWrap.htmlSpecialChars = 1   
      }
      }
    }
  }
nsell ·

Narf...Lösung gefunden.
Das zweite Schnippselchen war richtig, nur fehlte ein....EIN PUNKT!

Es heißt:

2 < .1

und nicht

2 < 1

Danke an "PiMB", der mir das im IRC erklärt hat 🙂