find($pid); $ptitle=$p[title]?$p[title]:"菜单管理"; $data=$tab->where(array("pid"=>$pid))->order('sort asc')->select(); $this->assign("pid",$pid); $this->assign("ppid",$p[pid]); $this->assign("ptitle",$ptitle); $this->assign("data",$data); $this->display(); } public function add(){ $tab=D('node'); if(IS_POST){ //验证 $rules = array( array('title','require','标题必须填写!',1), array('name','require','链接必须填写!',1), ); $data=$tab->validate($rules)->create(); if($data){ //设置level if($data[pid]){ $level=$tab->where(array("id"=>$data[pid]))->getField("level"); $level=$level+1; $data['level']=$level; }else{ $data['level']=1; } // $id=$tab->add($data); D("UserLog")->add("add",D('node')->getTableName(),$id); $this->success($data); }else{ $this->error($tab->getError()); } }else{ $pid=I("get.pid"); //获取最大的排序 $sort_where[pid]=$pid; $sort_where["sort"]=array("LT",900);//最大900是系统设置的,一般要小于这个 $sort=$tab->where($sort_where)->max('sort'); $sort=$sort+10; $this->pagetitle="添加菜单"; $this->assign("sort",$sort); $this->assign("pid",$pid); $this->display(); } } public function editor(){ $tab=D('node'); if(IS_POST){ //验证 $rules = array( array('title','require','标题必须填写!',1), array('name','require','链接必须填写!',1), ); $data=$tab->validate($rules)->create(); if($data){ //设置level if($data[pid]){ $level=$tab->where(array("id"=>$data[pid]))->getField("level"); $level=$level+1; $data['level']=$level; }else{ $data['level']=1; } // $tab->save($data); D("UserLog")->add("update",D('node')->getTableName(),$data[id]); $this->success($data); }else{ $this->error($tab->getError()); } }else{ //获取最大的排序 $id=I("get.id"); $r=$tab->find($id); $this->assign("r",$r); $this->display(); } } //删除节点 public function del(){ $obj=M("node"); $id=I("id",0,'intval'); $count=$obj->where(array("pid"=>$id))->count(); if($count>0){ $this->error("该节点下有子节点,如要删除请先删除子节点"); }else{ $result=$obj->delete($id); D("UserLog")->add("delete",D('node')->getTableName(),$id); if($result){ $this->success("删除成功"); }else{ $this->error("删除失败"); } } } }