php无限极菜单,无限极菜单的实现

摘要:<?php /** * Created by PhpStorm. * User: 12757 * Date: 2019/4/16 * Time: 18:32 */namespace app\admins\controller;use think\Controller;use Util\SysDb;class Menu extends Base{    public func

/**

* Created by PhpStorm.

* User: 12757

* Date: 2019/4/16

* Time: 18:32

*/

namespace app\admins\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();

//为了实现子菜单的功能,将pid带到后面去

$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,加载mid就可以了

//如果pid有值,加载当前菜单

$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');

//接收上级菜单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['pid']>0 && $data['controller'] == ''){

exit(json_encode(array('code'=>1,'msg'=>'控制器名称不能为空')));

}

if($data['pid']>0 && $data['method'] == ''){

exit(json_encode(array('code'=>1,'msg'=>'方法名称不能为空')));

}

//如果有mid,应该是更新菜单;否则的话是插入菜单

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'=>'保存失败')));

}

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'=>'删除失败')));

}

exit(json_encode(array('code'=>0,'msg'=>'删除成功')));

}

}

批改老师:欧阳批改时间:2019-04-19 09:33:32

老师总结:完成的不错,后台cms管理学会后,你就可以去做项目了,继续加油。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值