Zum Inhalt springen

3. Menüebene in 2. Integrieren

Erstellt am 24. Januar 2017 · 4 Antworten · letzte Antwort am 25. Januar 2017

Tags: Frage

Carlo69 ·

Hallo, ich würde gern meine 3. Ebene aus Stylegründen in die 2. integrieren.

Aktueller Code :

lib.navbar = HMENU
lib.navbar {
	entryLevel = 0;
	
	1 = TMENU
	1{
		expAll = 1
		wrap = <ul class="nav navbar-nav pull-right"> | </ul>
		NO = 1
		NO {
			wrapItemAndSub = <li class="nav-item mega-dropdown">  |  </li>
			stdWrap.htmlSpecialChars = 1
			ATagTitle.field = title 
			ATagParams = class="nav-link" aria-expanded="false"
		}		
	}
	

	2 = TMENU
	2{
	stdWrap.dataWrap = <div class="mega-dropdown-menu">  <div class="container"> <div class="row"> | </div></div> </div>
	expAll = 1
	NO{
			allWrap =<div class="col-xs-12 col-sm-3"> <ul><li class="dropdown-header">|</li><li class="divider"></li></ul>[b]XXX[/b]</div>
	  }
	}
	
	3= TMENU
	3{
		stdWrap.dataWrap =  <ul>|</ul> 
		expAll = 1
		NO{
			allWrap =<li>|</li>			
		}
	}
}

Da wo in der 2. Ebene die XXX sind, würde ich gern den Inhalt von meiner 3. Ebene integrieren, wie setze ich das am besten um, danke für jede Hilfe.

Norman2k ·

In der 2. Ebene packst zu dem NO noch ein IFSUB rein und zerteilst da dann deinen allWrap, alles was hinter dem XXX ist, packst an das Ende deines Wraps der 3. Ebene, also hinter das </ul>
Und nimm das <strong> raus, ein <ul> in einem <strong> ist nicht erlaubt. Die Formatierung kannst du auch mit CSS machen.
Das ist jetzt nur die schnellste Möglichkeit, basierend auf dein Menü. Guck dir auch mal wrapItemAndSub an: https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Hmenu/Tmenu/Tmenuitem.html

Carlo69 ·

Hey Danke schon mal,
das Strong hatte ich nur hier für das XXX rein gemacht, damit es besser sichtbar ist 🙂

Ich habe das mit dem IFSUB probiert, jedoch scheine ich irgendwas noch falsch zu machen 🙁

lib.navbar = HMENU
lib.navbar {
	entryLevel = 0;
	
	1 = TMENU
	1{
		expAll = 1
		wrap = <ul class="nav navbar-nav pull-right"> | </ul>
		NO = 1
		NO {
			wrapItemAndSub = <li class="nav-item mega-dropdown">  |  </li>
			stdWrap.htmlSpecialChars = 1
			ATagTitle.field = title 
			ATagParams = class="nav-link" aria-expanded="false"
		}		
	}
	

	2 = TMENU
	2{
	stdWrap.dataWrap = <div class="mega-dropdown-menu">  <div class="container"> <div class="row"> | </div></div> </div>
	expAll = 1
	NO{			
			IFSUB = 1
			IFSUB {
				allWrap = <div class="col-xs-12 col-sm-3"> <ul><li class="dropdown-header">|</li><li class="divider"></li></ul>
				
			}
	  }
	}
	
	3= TMENU
	3{
		stdWrap.dataWrap =  <ul>|</ul></div>	 
		expAll = 1
		NO{
			allWrap =<li>|</li>		
		}
	}
}

So geht es auf jeden Fall nicht.

Norman2k ·

IFSUB ist ein Menüzustand wie NO, also darf es nicht innerhalb von NO sein sondern in 2

2 = TMENU
2 {
	stdWrap.dataWrap = <div class="mega-dropdown-menu"><div class="container"><div class="row"> | </div></div></div>
	expAll = 1
	NO {
		allWrap = <div class="col-xs-12 col-sm-3"><ul><li class="dropdown-header">|</li><li class="divider"></li></ul></div>
	}
	IFSUB {
		allWrap = <div class="col-xs-12 col-sm-3"> <ul><li class="dropdown-header"> | </li><li class="divider"></li></ul>
	}
}
Carlo69 · · Beste Antwort

EDIT : Habe den Fehler gefunden, das IFSUB = 1 hat einfach nur gefehlt.

#############################################################################

Ahh ok Vielen Dank, jedoch habe ich das Problem, das er immer das NO und das IFSUB abarbeitet, egal ob eine Ebene drunter ist oder nicht. Hier nochmal mein Code:

Gibt es auch sowas wie IFNOSUB?

lib.navbar = HMENU
lib.navbar {
	entryLevel = 0;
	
	1 = TMENU
	1{
		expAll = 1
		wrap = <ul class="nav navbar-nav pull-right"> | </ul>
		NO = 1
		NO {
			wrapItemAndSub = <li class="nav-item mega-dropdown">  |  </li>
			stdWrap.htmlSpecialChars = 1
			ATagTitle.field = title 
			ATagParams = class="nav-link" aria-expanded="false"
		}		
	}
	

	2 = TMENU
    2 {
    	stdWrap.dataWrap = <div class="mega-dropdown-menu"><div class="container"><div class="row"> | </div></div></div>
    	expAll = 1
		
    	NO {
    		allWrap = <div class="col-xs-12 col-sm-3"><ul><li class="dropdown-header">|</li><li class="divider"></li></ul></div>
    	} 
		IFSUB {
    		allWrap = <div class="col-xs-12 col-sm-3"> <ul><li class="dropdown-header"> | </li><li class="divider"></li></ul>
    	}		
    }
	
	3= TMENU
	3{
		stdWrap.dataWrap =  <ul>|</ul></div>	 
		expAll = 1
		NO{
			allWrap =<li>|</li>		
		}
	}
}