Zum Inhalt springen

menü in 3. ebene ausblenden

Erstellt am 28. Mai 2006 · 5 Antworten · letzte Antwort am 23. März 2010

Tags: Frage

nex ·

hallo,

ich habe ein brett vorm kopf, deshalb die frage.

wie lasse ich dieses menü in der 3. ebene ausblenden? durch entryLevel lasse ich es in der 2. Ebene anzeigen, aber wie schalte ich die letzte aus?

      SUBNAV = HMENU
      SUBNAV {
         entryLevel = 1
         excludeUidList = 
         wrap = <div id="right"><div class="box"><div id="subnav">|</div></div></div>
         1 = TMENU
         1 {
            noBlur = 1
            wrap = <ul>|</ul>
            NO = 1
            NO {
               allWrap = <li>|</li>
               ATagBeforeWrap = 1
               linkWrap = <span>|</span>
               ATagTitle.cObject = TEXT
               ATagTitle.cObject.dataWrap = {field:subtitle}
            }
            CUR < .NO
            CUR {
               allWrap = <li class="current">|</li>
               doNotLinkIt = 1
               linkWrap = <strong><span>|</span></strong>
            }
         }
#         2 < .1
      }

danke!

steffenk ·

du meinst wohl einblenden ...

jede Ebene muss definiert werden, entryLevel alleine macht das nicht, also

2 < .1
3 < .2

etc

ist bei Dir auskommentiert.

noch ein Tipp am Rande, die Menge an divs ist nicht gerade förderlich, das könntest Du leicht reduzieren.

nex ·

ich meine ausblenden.

ich habe vor das mit conditions zu realisieren.

ich brauche in der 3. ebene ein anderes menü (vor, zurück) - aber ich komm schon klar -

bei SUBNAV ist 2 draußen, trotzdem wird es angezeigt, ich wollte es einfach ausblenden (subnav in 3. ebene)

🙂 danke für den tipp, aber es hat alles einen sinn.

fragolina ·

Hallo nex,

hab das gleiche Problem im Moment.
Hier ist mein Menü:

		MENU1 = HMENU
		MENU1.special = directory
    MENU1.special.value = 1
    MENU1 {
		stdWrap.case = upper
		excludeUidList = 3,4
		1 = TMENU
		1 {
			expAll = 0
			noBlur = 1
      NO = 1
       NO {
          allWrap (
         <li>|<div class="reiterende"></div></li> ||
         <li class="l">|<div class="reiterende"></div></li> ||
         <li class="p">|<div class="reiterende"></div></li> ||
         <li class="g">|<div class="reiterende"></div></li> |*|
         <li>|<div class="reiterende"></div></li> |*| <li>|<div class="reiterende"></div></li>
         )
          ATagTitle.field = abstract // description // title
          ATagParams = class="normal"
        }
       ACT = 1
       ACT {
          allWrap ( 
         <li>|<div class="reiterende"></div></li> ||
         <li class="l">|<div class="reiterende"></div></li> ||
         <li class="p">|<div class="reiterende"></div></li> ||
         <li class="g">|<div class="reiterende"></div></li> |*|
         <li>|<div class="reiterende"></div></li> |*| <li>|<div class="reiterende"></div></li>
         )
          ATagTitle.field = abstract // description // title
          ATagParams = class="active"
       }
			
		}
    
    
    2 = TMENU
    2 {
      wrap = <ul class="subu">|</ul>
       noBlur = 1
       NO = 1
       NO {
         allWrap  (
         <li class="submenu">|<div class="reiterende"/></div>
        
         )
         ATagTitle.field = abstract // description // title
          ATagParams = class="normal"
        }
       ACT = 1
       ACT {
         allWrap (
         <li class="submenu z">|<div class="reiterende z"/></div>
         )
          ATagParams = class="active"
       }
}
		
		stdWrap.required = 1
  	 	 stdWrap.wrap =  <div class="ms float_left" id="menu1"><ul id="topnavi" class="navitop">|</ul></div>

	  }

die dritte Ebene ist gar nicht definiert wie man sieht, die zweite schon. Trotzdem wird die dritte Ebene angezeigt. Wieso?
Ich dachte immer wenn die Ebene nicht explizit gesetzt wird, wird sie auch nicht angezeigt. Konntest Du Dein Problem lösen?
Danke lg

thowe ·

hallo nex und fragolina,

bin mir nicht sicher ob ich die Frage wirklich verstanden habe, aber probiert es mit dem hier in TS

special.value.data = leveluid:1

oder man löst es über "Conditions" mit

[treelevel = 3]

...... = HMENU
entrylevel = 2
...... = TMENU
expAll = 0

[END]

LG & ciao...
thowe ·

ich glaube ich habe zu kompliziert gedacht. Dies hier sollte am Besten passen. bitte anpassen (ist aus dem wiki von typo3) siehe hier:

http://wiki.typo3.org/index.php/De:dont_show_menu_level

temp.mymenu = HMENU
temp.mymenu {
  wrap = <div class="blindeEbenen">|</div>
  # X durch entryLevel ersetzen
  entryLevel = X
  1 = TMENU
  1 {
    expAll = 1
    wrap = <ul>|</ul>
    NO {
       wrapItemAndSub  = <li>|</li>
    }
  }
  2 = TMENU
  2 {
    expAll = 1
    NO {
       doNotShowLink = 1
    }
  }
  3 < .1
  4 < .2
  5 < .1
}

doNotShowLink = 1

zusammen mit

expAll = 1

ergibt das wunderschöne blinde Ebenen und das sogar noch innerhalb einer korrekten unordered List ohne zusätzlichen div und inline-style Angaben.

LG & ciao....