27. februar 2007 - 15:27
Der er
5 kommentarer og 1 løsning
Dynamisk menu med underpunkter
Nu har jeg siddet det meste af dagen og prøvet mig frem med at lave en dynamisk menu udfra et array. Det virker som sådan også nu, men jeg vil gerne have en vertikal menu, hvor underpunkterne så kommer nedenunder, og det volder mig lidt problemer. Min kode ser således ud: for(reset($menu_items); $sub_menu=key($menu_items); next($menu_items)) { echo ("<font size=\"2\"><b>"); echo ("<a href=\"".$menu_items[$sub_menu][$sub_menu]."?submenu=".$sub_menu."\">"); echo (key($menu_items[$sub_menu])."</a></font> "); if ($submenu==$sub_menu){ $opt = array_shift ($menu_items[$sub_menu]); echo $opt; for(reset($menu_items[$sub_menu]); $menu_item=key($menu_items[$sub_menu]); next($menu_items[$sub_menu])) { echo ("<font size=\"1\"><b>"); echo (" <a href=\"".$menu_items[$sub_menu][$menu_item]."?submenu=".$sub_menu."\">"); echo (key($menu_items[$sub_menu])."</a> "); echo ("</font>"); } echo ("</b></font>"); } echo (""); } Og den genererer en linie med alle punkter: Menu1 Menu2 UnderMenu1 Undermenu2 Menu3 Menu4 Jeg vil gerne at undermenuerne kommer til at stå på en ny linie: Menu1 Menu2 Menu3 Menu4 UnderMenu1 Undermenu2 Hvordan gør jeg lige det..?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
27. februar 2007 - 16:04
#1
Dette, er én måde at gøre det på for(reset($menu_items); $sub_menu=key($menu_items); next($menu_items)) { $topmenu.="<font size=\"2\"><b>"; $topmenu.="<a href=\"".$menu_items[$sub_menu][$sub_menu]."?submenu=".$sub_menu."\">"; $topmenu.=key($menu_items[$sub_menu])."</a></font> "; if ($submenu==$sub_menu){ $opt = array_shift ($menu_items[$sub_menu]); echo $opt; for(reset($menu_items[$sub_menu]); $menu_item=key($menu_items[$sub_menu]); next($menu_items[$sub_menu])) { $submenu.="<font size=\"1\"><b>"; $submenu.=" <a href=\"".$menu_items[$sub_menu][$menu_item]."?submenu=".$sub_menu."\">"; $submenu.=key($menu_items[$sub_menu])."</a> "; $submenu.="</font>"; } $topmenu.="</b></font>"; } } echo $topmenu ."<br />".$submenu;
27. februar 2007 - 16:06
#2
Det der sker, er i stedet for at udskrive din menu med det samme, gemmes de i hhv variablen $topmenu og $submenu, der så kan udskrives hvor man lyster hvorfor udskrive $opt?
27. februar 2007 - 16:26
#3
Godt spørgsmål.. Det er der egentlig ikke nogen grund til. Til gengæld opfører den sig som jeg gerne vil nu. Men kan det lade sig gøre at sætte et tredie led på? Altså: Menu1 UnderMenu1 UnderUnderMenu1 Eller skal jeg lave det om før det kan det?
27. februar 2007 - 17:14
#4
i princippet kan du jo bare sætte en for lykke inde i din submenu - for-lykke.. noget i retningen af denne struktur? for (){ for(){ for(){ } } }
27. februar 2007 - 17:34
#5
Skidegodt :) Hvis du lægger et svar, skal du få din belønning
27. februar 2007 - 17:35
#6
hepper
Vi tilbyder markedets bedste kurser inden for webudvikling