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管理学会后,你就可以去做项目了,继续加油。
php无限极菜单,无限极菜单的实现相关推荐
- php菜单无限极分类
php菜单无限极分类 function getTree($data, $pId='0') {$tree = [];foreach ($data as $k => $v) {if ($v['pid ...
- 下拉菜单,汉堡菜单,Mega menu… 学习5种常见UI导航设计
可访问的导航将引导用户浏览 UI 中的信息流,并帮助他们完成任务.提高用户体验. Web/移动转化率.同样,如果用户无法在网站或app找到方向,那么该网站/app对他们毫无用处 -- 糟糕的导航设计会 ...
- OpenCV中的对极几何和对极约束
OpenCV中的对极几何和对极约束 1. 原理 参考 这篇博客将学习多视图几何的基础知识,如什么是对极.对极线.对极约束等. 1. 原理 当使用针孔相机拍摄图像时会丢失一个重要的信息,即图像的深度.或 ...
- 【Qt】QtCreator中使用ActionManager类管理标题栏(MunuBar)、菜单(Menu)和菜单中的项目(Action)
1.简介 QtCreator中使用ActionManager类管理标题栏(MunuBar).菜单(Menu)和菜单中的项目(Action),下面以创建"New"动作为例,介绍Act ...
- 如何在IE右键菜单中添加菜单项(转)
(来自:http://www.jaron.cn/chs_scripts/7/2003-11/20031125111738-101413.html) 如果使用过Netants的朋友可能都知道,NetAn ...
- 13、Java菜单条、菜单、菜单项
13.Java菜单条.菜单.菜单项 一般用Java做界面时,都得牵涉到菜单条.菜单.菜单项的设计.菜单项放在菜单里,菜单放在菜单条里,且其字体均可设置. 13.1.菜单条(Menubar) Frame ...
- Android之选项菜单和上下文菜单解析
选项菜单 创建选项菜单 Activity类的onCreateOptionMenu事件方法用来创建选项菜单,该方法定义如下: @Overridepublic boolean onCreateOption ...
- 创建 桌面、发送到...、快速启动栏、开始菜单、程序菜单、右键菜单 快捷方式...
{================================================================= 功 能: 创建 桌面.发送到 ...
- 如何动态添加菜单/菜单项、子菜单、右键菜单
有关菜单的操作主要用到 CMenu 类,当然也可用相应 API 函数, CMenu 类只是 MFC 对 API 中操作菜单的函数的封装而已. 不过能用类就尽量用类,类的组织方式好呗,代码看着也舒服. ...
最新文章
- LeetCode简单题之截断句子
- 对象检测工具包mmdetection简介、安装及测试代码
- 虚拟化技术KVM的搭建
- Day9-Postfix
- android studio 顶部导航栏_5分钟学交互:手机交互组件归纳 导航篇
- SharePoint 自定义WebPart之间的连接
- OpenGL 对象的概述
- 轻松掌握开发必会的docker套路-yaml语法与docker compose.yml
- java runnable 异常_JAVA 线程中的异常捕获
- 叮叮叮~~~~网络面试题(一)来了☺
- android4.0 底部菜单,Android自定义控件系列(四)—底部菜单(下)
- 由线性空间V中的集合生成的子空间
- ADAS技术市场总结展望(2021年-2022年)
- 顶级论文创新点怎么找?中国高校首次获CVPR最佳学生论文奖有感
- Java操作Excel完成导入导出
- 计算机网络专业综合实践报告,计算机网络专业实习报告.doc
- 苹果耳机可以用在安卓手机上吗_苹果史上最良心配件,安卓机用了根本停不下来...
- 语言学句法分析树形图怎么画_科学网—《泥沙龙笔记:漫谈自动句法分析和树形图表达》 - 李维的博文...
- 网络变压器的线间电容(CWW)及网络变压器线圈分布电容(CD)
- 如何删除电脑里的android驱动程序,【教程】安卓手机系统自带程序卸载
热门文章
- rjdbc读取mysql_R通过RJDBC连接外部数据库 (转)
- 【NOI2019】弹跳【二维线段树】【dijkstra】
- P3834 【模板】可持久化线段树 2(整体二分做法)
- 等比数列三角形 (数论 + 黄金分割点)+ JOISC 2016 Day3 T3 「电报」(基环树 + 拓扑排序)
- 洛谷P3327:[SDOI2015]约数个数和(莫比乌斯反演)
- 8.11模拟:数据结构
- 状态压缩:枚举子集(最优组队)(ybtoj)(动态规划)
- P2657-[SCOI2009]windy数【数位dp,dfs】
- 【图论】【并查集】矩形(ssl 1222)
- codeforces 938D Buy a Ticket 有初值的Dijkstra、有趣的题目