摘要:菜单的无限添加、编辑、删除,可以更灵活的设置网站栏目,练习代码如下:<?php /** * Date: 2019/5/17 * Time: 10:18 */ namespace app\yejuzhi\controller; use think\Controller; use Util
菜单的无限添加、编辑、删除,可以更灵活的设置网站栏目,练习代码如下:
<?php
/**
* Date: 2019/5/17
* Time: 10:18
*/
namespace app\yejuzhi\controller;
use think\Controller;
use Util\SysDb;
class Menu extends Base
{
public function index()
{
$pid = (int)input('get.pid');
$where['pid'] = $pid;
//加载菜单列表
$data['lists'] = $this->db->table('admin_menus')->where($where)->order('ord asc')->lists();
$data['pid'] = $pid;
//子菜单查询
if($pid>0){
$parent = $this->db->table('admin_menus')->where(array('mid'=>$pid))->item();
//返回上级菜单
$data['backid']=$parent['pid'];
}
return $this->fetch('',$data);
}
//添加、编辑菜单
public function add(){
$pid = (int)input('get.pid'); //子菜单添加
$mid = (int)input('get.mid'); //编辑菜单获取mid
$data['parent_menu'] =$this->db->table('admin_menus')->where(array('mid'=>$pid))->item();
$data['menu'] =$this->db->table('admin_menus')->where(array('mid'=>$mid))->item();
return $this->fetch('',$data);
}
//保存菜单
public function save(){
$mid = (int)input('post.mid');
$data['pid'] = (int)input('post.pid');
$data['title'] = trim(input('post.title'));
$data['controller'] =trim(input('post.controller'));
$data['method'] = trim(input('post.method'));
$data['ord'] = (int)input('post.ord');
$data['ishidden'] = (int)input('post.ishidden');
$data['status'] = (int)input('post.status');
//验证数据
if($data['title'] == ''){
exit(json_encode(array('code'=>1,'msg'=>'菜单名称不能为空')));
}
if($data['controller'] == ''){
exit(json_encode(array('code'=>1,'msg'=>'控制器不能为空')));
}
if($data['method'] == ''){
exit(json_encode(array('code'=>1,'msg'=>'方法不能为空')));
}
if($mid){
//数据更新
$res = $this->db->table('admin_menus')->where(array('mid'=>$mid))->update($data);
}else{
//数据入库
$res = $this->db->table('admin_menus')->insert($data);
}
//判断是否保存成功
if(!$res){
exit(json_encode(array('code'=>1,'msg'=>'保存失败')));
}else{
exit(json_encode(array('code'=>0,'msg'=>'保存成功')));
}
}
//删除菜单
public function delete(){
$mid = (int)input('post.mid');
$res = $this->db->table('admin_menus')->where(array('mid'=>$mid))->delete();
//判断是否删除成功
if(!$res){
exit(json_encode(array('code'=>1,'msg'=>'删除失败')));
}else{
exit(json_encode(array('code'=>0,'msg'=>'删除成功')));
}
}
}
批改老师:查无此人批改时间:2019-05-18 09:26:26
老师总结:完成的不错。后台cms管理系统,就是对数据进行操作。操作越简单越好。继续加油