/**
  * 根据id获取当前菜单的顶级菜单
  * @author jry <*****@*****.**>
  */
 public function getRootMenuById($id)
 {
     if (empty($id)) {
         return false;
     }
     switch (MODULE_NAME) {
         case 'Admin':
             //系统菜单
             $map['id'] = array('eq', $id);
             $map['status'] = array('eq', 1);
             $main_menu = array();
             do {
                 $main_menu = $this->where($map)->find();
                 $map['id'] = array('eq', $main_menu['pid']);
             } while ($main_menu['pid'] > 0);
             break;
         default:
             //模块菜单
             $map = array('id' => $id);
             $main_menu = array();
             $tree = new \Common\Util\Tree();
             $current_module_admin_menu = json_decode(D('SystemModule')->getFieldByName(MODULE_NAME, 'admin_menu'), true);
             do {
                 $main_menu = $tree->list_search($current_module_admin_menu, $map);
                 $main_menu = $main_menu[0];
                 $map = array('id' => $main_menu['pid']);
             } while ($main_menu !== null && $main_menu['pid'] != '0');
             break;
     }
     return $main_menu;
 }
 /**
  * 根据菜单ID的获取其所有父级菜单
  * @param int $cid 菜单id
  * @return array 父级菜单集合
  * @author jry <*****@*****.**>
  */
 public function getParentMenu($id)
 {
     if (empty($id)) {
         return false;
     }
     switch (MODULE_NAME) {
         case 'Admin':
             //系统菜单
             $map['status'] = array('eq', 1);
             $menus = $this->where($map)->select();
             $child = $this->field('id,pid,title,url')->find($id);
             //获取信息
             $pid = $child['pid'];
             $temp = array();
             $res[] = $child;
             while (true) {
                 foreach ($menus as $key => $val) {
                     if ($val['id'] == $pid) {
                         $pid = $val['pid'];
                         array_unshift($res, $val);
                         //将父菜单插入到数组第一个元素前
                     }
                 }
                 if ($pid == '0') {
                     break;
                 }
             }
             break;
         default:
             //模块菜单
             $menus = json_decode(D('SystemModule')->getFieldByName(MODULE_NAME, 'admin_menu'), true);
             $tree = new \Common\Util\Tree();
             $map = array('url' => strtolower(MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME));
             $child = $tree->list_search($menus, $map);
             $child = $child[0];
             //获取信息
             $pid = $child['pid'];
             $temp = array();
             $res[] = $child;
             while (true) {
                 foreach ($menus as $key => $val) {
                     if ($val['id'] == $pid) {
                         $pid = $val['pid'];
                         array_unshift($res, $val);
                         //将父菜单插入到数组第一个元素前
                     }
                 }
                 if ($pid == '0') {
                     break;
                 }
             }
             break;
     }
     return $res;
 }