Zum Inhalt springen

einfaches menu erstellen

Erstellt am 26. November 2006 · 8 Antworten · letzte Antwort am 28. November 2006

Tags: Frage

braindead ·

hallo
habe eine frage bezüglich aufbau einer menu struktur und zwar möchte ich folgende struktur erzeugen:
_________
menu 1
_________
menu 2
_________
menu 3
_________
menu 3.1
menu 3.2
_________
menu 4
_________
menu 5
_________

nun fehlt mir leider definitiv das know how wie ich in typoscript das ganze aufbauen kann.
zurzeit habe ich folgendes in typoscript, wobei dass submenu natürlich jetzt natürlich jeweils nach dem menu 5 angezeigt
wird und nicht wie im beispiel unter menu 3. auch beim <hr /> bin ich mir sicher das es noch eine andere möglichkeit gibt als die meninige.

## Menu [Begin]
lib.subMenu = HMENU
lib.subMenu.entryLevel = 1
lib.subMenu.wrap = <a href="fileadmin/templates/#">|</a>
lib.subMenu.1 = TMENU
lib.subMenu.1.NO {
	allWrap = <hr>
}
## Menu [End]





## Menu [Begin]
lib.mainMenu = HMENU
lib.mainMenu.entryLevel = 0
lib.mainMenu.wrap = <a href="fileadmin/templates/#">|</a>
lib.mainMenu.1 = TMENU
lib.mainMenu.1.NO {
	allWrap =<hr>
}
## Menu [End]

vielen dank für eure hilfe
braindead

just2b ·

Hallo,

nimm zB diesen Schnippsel:

temp.mainmenu = HMENU
temp.mainmenu {

	1 = TMENU
	1 {
		#expAll =1
		wrap = <ul id="nav1">|</ul>
		noBlur = 1
		NO = 1
		NO {
			wrapItemAndSub = <li>|</li>
			stdWrap.htmlSpecialChars = 1
			ATagTitle.field = title
		}
		ACT = 1
		ACT {
			wrapItemAndSub = <li id="nav1act">|</li>
			stdWrap.htmlSpecialChars = 1
			ATagTitle.field = title
		}
	}
	
	2 < .1
	2 {
		wrap = <ul id="nav2">|</ul>
		ACT.wrapItemAndSub = <li id="nav2act">|</li>
	}
	
	3 < .2
	3 {
		wrap = <ul id="nav3">|</ul>
		ACT.wrapItemAndSub = <li id="nav3act">|</li>
	}
}

Anpassung dann per CSS, hat aber nichts mehr mit Typo3 zu tun!

lg georg

braindead ·

vielen dank für die schnelle antwort.
hab unter info/modify/setup nun folgendes komplett ersetzt

## Menu [Begin]
lib.subMenu = HMENU
lib.subMenu.entryLevel = 1
lib.subMenu.wrap = <a href="fileadmin/templates/#">|</a>
lib.subMenu.1 = TMENU
lib.subMenu.1.NO {
	allWrap = <hr>
}
## Menu [End]





## Menu [Begin]
lib.mainMenu = HMENU
lib.mainMenu.entryLevel = 0
lib.mainMenu.wrap = <a href="fileadmin/templates/#">|</a>
lib.mainMenu.1 = TMENU
lib.mainMenu.1.NO {
	allWrap =<hr>
}
## Menu
page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page

durch

temp.mainmenu = HMENU
temp.mainmenu {

        1 = TMENU
        1 {
                #expAll =1
                wrap = <ul id="nav1">|</ul>
                noBlur = 1
                NO = 1
                NO {
                        wrapItemAndSub = <li>|</li>
                        stdWrap.htmlSpecialChars = 1
                        ATagTitle.field = title
                }
                ACT = 1
                ACT {
                        wrapItemAndSub = <li id="nav1act">|</li>
                        stdWrap.htmlSpecialChars = 1
                        ATagTitle.field = title
                }
        }
       
        2 < .1
        2 {
                wrap = <ul id="nav2">|</ul>
                ACT.wrapItemAndSub = <li id="nav2act">|</li>
        }
       
        3 < .2
        3 {
                wrap = <ul id="nav3">|</ul>
                ACT.wrapItemAndSub = <li id="nav3act">|</li>
        }
}
## Menu [End]



page = PAGE
page.typeNum = 0
page.10 = USER
page.10.userFunc = tx_templavoila_pi1->main_page

leider wird nun mein menu überhaupt nicht mehr angezeigt, was habe ich falsch gemacht, resp. wie müsste der eintrag unter. info/modify/setup richtig lauten?

danke euch für eure hilfe
braindead

p.s.
evt. gibts ja auch eine anleitung/dokumentation zum erstellen und begreifen des aufbaus einer menustruktur in typo3

braindead ·

hab nochmals eine frage bezüglich dem selben menu und zwar sind die menupunkt mit einem <hr> resp. einer linie getrennt. wie und wo definiere ich diese linie am besten im typoscript setup damit sich ihr zustand auch z.b bei act. verändert (farblich)
hier mal mein typoscript:

lib.subMenu = HMENU
lib.subMenu {
	
        1 = TMENU
        1 {
                #expAll =1
                wrap = <ul id="nav1">|</ul>
                noBlur = 1
                NO = 1
                NO {
                        wrapItemAndSub = <li>|</li>
                        stdWrap.htmlSpecialChars = 1
                        ATagTitle.field = title	
                }
                ACT = 1
                ACT {
                        wrapItemAndSub =<li id="nav1act">|</li>
                        stdWrap.htmlSpecialChars = 1
                        ATagTitle.field = title
                }
        }
       
        2 < .1
        2 {
                wrap = <id="nav2">|
                ACT.wrapItemAndSub = <li id="nav2act">|</li>
        }
       
        3 < .2
        3 {
                wrap = <ul id="nav3">|</ul>
                ACT.wrapItemAndSub = <li id="nav3act">|</li>
        }
}

danke und liebe grüsse
braindead

just2b ·

Hallo,

erstmals hast du in Zeile 25 einen Fehler, da fehlt der UL-tag und eine linie würde ich rein per css machen!

#nav1 li {border-bottom:1px solid red;}
oder
#nav1 li a:link {border-bottom:...}

georg

braindead ·

nun funktioniert nicht 100%, irgendwo hab ich noch einen fehler in dem css drin den ich nicht finde. wenn ich #nav1 li {border-bottom:1px solid red;} eingebe , erschint auch bei dem submenu jeweils eine rote linie, wenn ich aber #nav2 li {border-bottom:1px solid red;} erscheint nur beim submenu eine rote linie. irgendwo ist in der css ein fehler?

hier nochmals meine css:

/* Menu 1 column */
#nav1, #nav1 ul {
padding:0;margin:0;
}

#nav1 {
border: 0px solid #eee;
text-align: left;
list-style: none;
}

#nav1 li {border-bottom:1px solid red;}

#nav1 a, #nav1 a:active {
		color: #000000;
		font-size: 12px;
		font-family: arial,helvetica,sans-serif;
		valign: top;
		font-weight: bold; 
		text-decoration: none; 
		

}

#nav1 a:hover {
		color: #FF6666;
		font-size: 12px;
		font-family: arial,helvetica,sans-serif;
		valign: top;
		font-weight: bold; 
		text-decoration: none;

}

/*#nav1 li:hover {
		color: #FF6666;
		font-size: 12px;
		font-family: arial,helvetica,sans-serif;
		valign: top;
		font-weight: bold; 
		text-decoration: none;

}*/


#nav1act a:link, #nav1act a:visited, #nav1act a:visited {
		color: #FF6666;
		font-size: 12px;
		font-family: arial,helvetica,sans-serif;
		valign: top;
		font-weight: bold; 
		text-decoration: none;

}

#nav1act a:hover {
		color: #FF6666;
		font-size: 12px;
		font-family: arial,helvetica,sans-serif;
		valign: top;
		font-weight: bold; 
		text-decoration: none;
}


/* Menu 2 column */

#nav2 {
list-style: none;
background:#fff;
font-weight: normal; 
}

#nav2 a:link, #nav2 a:visited, #nav2 a:active {
font-size:12px;
color: #000000;
font-weight: normal;

}

#nav2 li, #nav2 ul {
list-style:none;
font-weight: normal; 
}


#nav2 a:hover{
font-weight: normal; 
color: #FF6666;
}



#nav2act a:link, #nav2act a:visited, #nav2act a:active #nav2act a:visited {
		color: #FF6666;
		font-size: 12px;
		font-family: arial,helvetica,sans-serif;
		valign: top;
		font-weight: normal; 
		text-decoration: none;
}

und hier die ts

und hier die korrigierte ts

lib.subMenu = HMENU
lib.subMenu {
	
        1 = TMENU
        1 {
                #expAll =1
                wrap = <ul id="nav1">|</ul>	
                noBlur = 1
                NO = 1
                NO {
                        wrapItemAndSub = <li>|</li>
                        stdWrap.htmlSpecialChars = 1
                        ATagTitle.field = title	
                }
                ACT = 1
                ACT {
                        wrapItemAndSub =<li id="nav1act">|</li>
                        stdWrap.htmlSpecialChars = 1
                        ATagTitle.field = title
                }
        }
       
        2 < .1
        2 {
                wrap = <ul id="nav2">|</ul>
                ACT.wrapItemAndSub = <li id="nav2act">|<br></li>
        }
       
        3 < .2
        3 {
                wrap = <ul id="nav3">|</ul>
                ACT.wrapItemAndSub = <li id="nav3act">|</li>
        }
}

manchmal sieht als anfänger vor lauter bäumen den wald kaum...
liebe grüsse
braindead

just2b ·

ist kein fehler! css > cascading stylesheets > das vererbt sich! zB nav1 li an alle li, die darunter sind! wenn du das nicht willst, dann überschreib die li zB mit #nav2 li (oder eben mit #nav1 li ul li - ist das gleiche)

georg