Da in letzter Zeit auch oft danach gefragt wurde und ich mir selbst zuletzt die Lösung aus einigen Topics zusammen suchen musste, hier einmal das komplette Setup solch einen Menüs.
So sieht das Menü nachher aus:
<img src="http://www.be-cre8tive.com/howto_typo3/t_menu.jpg">
Setup:
##############################
HAUPTEMENU: MENU_MAIN
##############################
# Benoetigte Libaries einfuegen
page.includeLibs.tmenu_layers = media/scripts/tmenu_layers.php
# Menu erzeugen
temp.MENU_MAIN = HMENU
################
# MENU EBENE 1 #
################
# Ebene 1 erzeugen
temp.MENU_MAIN.1 = TMENU_LAYERS
# Eigenschaften Ebene 1
temp.MENU_MAIN.1 {
layerStyle = position:absolute;VISIBILITY:hidden;
# Menu verankern, damit es nicht der Maus folgt
lockPosition = x
# Position wo sich die naechste Ebene oeffnen soll (Ebene 2)
relativeToParentLayer=1
relativeToTriggerItem=1
topOffset=16
leftOffset=0
# Angabe wann sich die naechste Ebene wieder schliessen soll
hideMenuWhenNotOver = 50
hideMenuTimer = 70
# alle Menuepunkte anzeigen
expAll=1
# Darstellung der aktuellen Ebene
wrap = <table border="0" cellspacing="0" cellpadding="0" class="menu1_main"><tr>|</tr></table>
# Darstellung im Normalmodus
NO {
allWrap = <td class="menu1_main"> | </td>
}
# Darstellung wenn Aktiv
ACT = 1
ACT {
allWrap = <td class="menu1_main_act"> | </td>
}
# Ende Ebene 1
}
################
# MENU EBENE 2 #
################
# Ebene 1 erzeugen
temp.MENU_MAIN.2 = TMENU_LAYERS
# Eigenschaften Ebene 1
temp.MENU_MAIN.2 {
layerStyle = position:absolute;VISIBILITY:hidden;
# Menu verankern, damit es nicht der Maus folgt
lockPosition = x
# Position wo sich die naechste Ebene oeffnen soll (Ebene 2)
relativeToParentLayer=1
relativeToTriggerItem=1
topOffset=0
leftOffset=140
# alle Menuepunkte anzeigen
expAll=1
# Darstellung der aktuellen Ebene
wrap = <table border="0" cellspacing="0" cellpadding="0">|</table>
# Darstellung im Normalmodus
NO {
allWrap = <tr><td class="menu1_main2"> | </td></tr>
}
# Darstellung wenn Aktiv
ACT = 1
ACT {
allWrap = <tr><td class="menu1_main2_act"> | </td></tr>
}
# Darstellung fuer Unterpunkte mit Subpunkten
IFSUB = 1
IFSUB {
allWrap = <tr><td class="menu1_main2_sub"> | </td></tr>
}
# Ende Ebene 2
}
################
# MENU EBENE 3 #
################
# Ebene 1 erzeugen
temp.MENU_MAIN.3 = TMENU
# Eigenschaften Ebene 1
temp.MENU_MAIN.3 {
# Darstellung der aktuellen Ebene
wrap = <table border="0" cellspacing="0" cellpadding="0">|</table>
# Darstellung im Normalmodus
NO {
allWrap = <tr><td class="menu1_main2"> | </td></tr>
}
# Darstellung wenn Aktiv
ACT = 1
ACT {
allWrap = <tr><td class="menu1_main2_act"> | </td></tr>
}
# Ende Ebene 3
}
# Marker durch Menü ersetzten:
subparts.MENU_MAIN < temp.MENU_MAIN
die Stylesheets:
/*MENUES */
.menue_main
{
background: #000099;
text-align: left;
height: 16 px;
width: 602 px;
}
/*MENU_MAIN */
.menu1_main
{
background-color: #000099;
}
.menu1_main A, .menu1_main A:visited {
color: #ffffff;
text-decoration: none;
display: block;
background-color: #000099;
padding-left: 10px;
padding-right: 10px;
border-right: 1px solid #ffffff;
font-weight: bold;
font-size: 10pt;
font-family: verdana;
}
.menu1_main A:hover, .menu1_main A:bb:hover {
color: #000000;
font-weight: bold;
text-decoration: none;
display: block;
background-color: #FFCC00;
padding-left: 10px;
padding-right: 10px;
border-right: 1px solid #ffffff;
font-weight: bold;
font-size: 10pt;
font-family: verdana;
}
.menu1_main_act A, .menu1_main_act A:visited {
color: #000099;
font-weight: bold;
text-decoration: none;
display: block;
background-color: #CCCCEB;
padding-left: 10px;
padding-right: 10px;
border-right: 1px solid #ffffff;
font-weight: bold;
font-size: 10pt;
font-family: verdana;
}
.menu1_main_act A:hover, .menu1_main_act A:bb:hover {
color: #000000;
font-weight: bold;
text-decoration: none;
display: block;
background-color: #FFCC00;
padding-left: 10px;
padding-right: 10px;
border-right: 1px solid #ffffff;
font-weight: bold;
font-size: 10pt;
font-family: verdana;
}
/* MENU_MAIN LEVEL 2 */
.menu1_main2 A, .menu1_main2 A:visited {
color: #009900;
font-weight: bold;
text-decoration: none;
background: #CCEBCC;
border-bottom: 1px solid #009900;
padding-left: 5px;
width: 140px;
padding-top: 2px;
padding-bottom: 2px;
font-weight: bold;
font-size: 8pt;
font-family: verdana;
}
.menu1_main2 A:hover, .menu1_main2 A:bb:hover {
color: #000000;
font-weight: bold;
text-decoration: none;
background: #FFCC00;
border-bottom: 1px solid #009900;
padding-left: 5px;
width: 140px;
padding-top: 2px;
padding-bottom: 2px;
font-weight: bold;
font-size: 8pt;
font-family: verdana;
}
.menu1_main2_act A, .menu1_main2_act A:visited {
color: #ffffff;
font-weight: bold;
text-decoration: none;
background: #009900;
border-bottom: 1px solid #009900;
padding-left: 5px;
width: 140px;
padding-top: 2px;
padding-bottom: 2px;
font-weight: bold;
font-size: 8pt;
font-family: verdana;
}
.menu1_main2_act A:hover, .menu1_main2_act A:bb:hover {
color: #000000;
font-weight: bold;
text-decoration: none;
background: #FFCC00;
border-bottom: 1px solid #009900;
padding-left: 5px;
width: 140px;
padding-top: 2px;
padding-bottom: 2px;
font-weight: bold;
font-size: 8pt;
font-family: verdana;
}
.menu1_main2_sub A, .menu1_main2_sub A:visited {
color: #009900;
font-weight: bold;
text-decoration: none;
background-image : url(main/images/menu_sub_back.jpg);
border-bottom: 1px solid #009900;
padding-left: 5px;
width: 140px;
padding-top: 2px;
padding-bottom: 2px;
font-weight: bold;
font-size: 8pt;
font-family: verdana;
}
.menu1_main2_sub A:hover, .menu1_main2_sub A:bb:hover {
color: #000000;
font-weight: bold;
text-decoration: none;
background-image : url(main/images/menu_sub_back_act.jpg);
border-bottom: 1px solid #009900;
padding-left: 5px;
width: 140px;
padding-top: 2px;
padding-bottom: 2px;
font-weight: bold;
font-size: 8pt;
font-family: verdana;
}
Im Template muss lediglich irgendwo der Marker MENU_MAIN gesetzt werden.
Hoffe das hilft einigen.