我正试着做一个像WordPress那样的菜单,但用更简单的方式。在WordPress中,您可以从任何php脚本中连接Admin侧边栏菜单,这就是我想要做的。
--这是包含菜单信息的所有数组
$admin_menu_page = array();
$admin_submenu_page = array();
$admin_menu_page[] = array("Dashboard", "dashboard");
$admin_menu_page[] = array("Pages", "pages");
$admin_menu_page[] = array("Setings", "setings");
$admin_submenu_page['dashboard'] = array("Home", "home");
$admin_submenu_page['dashboard'] = array("Update", "update");
$admin_submenu_page['pages'] = array("Add New Page", "new");
$admin_submenu_page['pages'] = array("All Pages", 'pages');
$admin_submenu_page['setings'] = array("SMTP", "smtp");
$admin_submenu_page['setings'] = array("Theme Options", "theme-options");--这是在页面中呈现菜单的html部件。
echo '<ul>';
foreach($admin_menu_page as $menu){
echo '<li>';
echo '<a href="#">';
echo $menu[0];
echo '<ul>';
foreach($admin_submenu_page[$menu[1]] as $submenu){
echo '<li>';
echo '<a href="#">';
echo $submenu;
echo '</a>';
echo '</li>';
}
echo '</ul>';
echo '</a>';
echo '</li>';
}
echo '</ul>';--从上面的代码看,这就是它现在的样子

--这就是最终结果应该与类似的方式

发布于 2014-02-21 10:53:46
首先,您必须正确地创建子菜单,您缺少括号:
相反:
$admin_submenu_page['dashboard'] = array("Home", "home");
$admin_submenu_page['dashboard'] = array("Update", "update");
$admin_submenu_page['pages'] = array("Add New Page", "new");
$admin_submenu_page['pages'] = array("All Pages", 'pages');
$admin_submenu_page['setings'] = array("SMTP", "smtp");
$admin_submenu_page['setings'] = array("Theme Options", "theme-options");做:
$admin_submenu_page['dashboard'][] = array("Home", "home");
$admin_submenu_page['dashboard'][] = array("Update", "update");
$admin_submenu_page['pages'][] = array("Add New Page", "new");
$admin_submenu_page['pages'][] = array("All Pages", 'pages');
$admin_submenu_page['setings'][] = array("SMTP", "smtp");
$admin_submenu_page['setings'][] = array("Theme Options", "theme-options");第二,在渲染,更改:
echo $submenu;至
echo $submenu[0];发布于 2014-02-21 11:15:06
$main_menu = array() ;
$sub_menu = array() ;
$sub_menu['dashboard'][] = array( "title" => "Home" , "action" => "home" ) ;
$sub_menu['dashboard'][] = array( "title" => "Update" , "action" => "update" ) ;
$main_menu['dashboard']['title'] = 'Dashboard' ;
sort( $sub_menu['dashboard'] ) ;
$main_menu['dashboard']['submenu'] = $sub_menu['dashboard'] ;
$sub_menu['pages'][] = array( "title" => "All Pages" , "action" => "pages" ) ;
$sub_menu['pages'][] = array( "title" => "Add New Page" , "action" => "new" ) ;
$main_menu['pages']['title'] = 'Pages' ;
sort( $sub_menu['pages'] ) ;
$main_menu['pages']['submenu'] = $sub_menu['pages'] ;
$sub_menu['setings'][] = array( "title" => "SMTP" , "action" => "smtp" ) ;
$sub_menu['setings'][] = array( "title" => "Theme Options" , "action" => "theme-options" ) ;
$main_menu['setings']['title'] = 'Setings' ;
sort( $sub_menu['setings'] ) ;
$main_menu['setings']['submenu'] = $sub_menu['setings'] ;
foreach ( $main_menu as $key => $menu ) {
echo '<li>' ;
echo '<a href="#">' ;
echo $menu['title'] ;
echo '<ul>' ;
foreach ( $menu['submenu'] as $item ) {
echo '<li>' ;
echo "<a href=\"#{$item['action']}\">" ;
echo $item['title'] ;
echo '</a>' ;
echo '</li>' ;
}
echo '</ul>' ;
echo '</li>' ;
}请注意,此解决方案仅适用于子菜单1至1,对于子菜单N到N子菜单,您应该使用递归优化此脚本:
见-> BR/regexp.reference.recursive.php
https://stackoverflow.com/questions/21932068
复制相似问题