添加功能调用方法显示一级菜单以及所有子菜单
public function add()
{
$menus_list = $this->db->table('admin_menus')->where(array('status'=>0))->cates('mid');
$menus = $this->getTreeItems($menus_list);
$result = array();
foreach ($menus as $value){
$value['children'] = isset($value['children']) ? $this->formatMenus($value['children']) :false;
$result[] = $value ;
}
$this->view->assign('menus',$result);
return $this->view->fetch('add');
}
//树形显示所有菜单
private function getTreeItems($items){
$tree = array();
foreach ($items as $item){
if (isset($items[$item['pid']])){
$items[$item['pid']]['children'][]=&$items[$item['mid']];
}
else{
$tree[] = &$items[$item['mid']];
}
}
return $tree;
}
// 除了顶级菜单 都是二级显示
private function formatMenus($items ,&$res=array()){
foreach ($items as $item){
if (!isset($item['children'])){
$res[] = $item;
}
else{
$tem = $item['children'];
unset($item['children']);
$res[] = $item;
$this->formatMenus($tem , $res);
}
}
return $res;
}
前台代码
权限菜单
{volist id="vo" name="menus"}
{volist id="cvo" name="vo.children"}
{/volist}
{/volist}
成品样式