前端到后台ThinkPHP开发整站(4)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了前端到后台ThinkPHP开发整站(4),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4197字,纯文字阅读大概需要6分钟。
内容图文
![前端到后台ThinkPHP开发整站(4)](/upload/InfoBanner/zyjiaocheng/1075/aae8084f54684a21be002017fea479e9.jpg)
今晚继续我的这个项目的开发,今晚也是写的不多,主要写了一个菜单管理功能的CURD方法,前端界面还没有进行编写。
菜单管理Model层的代码:
<?php namespace Common\Model; use Think\Model; class MenuModel extends Model{ private $_db=‘‘; public function __construct(){ $this->_db=M("menu"); } /** * 插入菜单数据 */ public function insert($data=array()){ if(!data || !is_array($data)){ return 0; } return $this->_db->add($data); } /** * 获取菜单数据 */ public function getMenus($data,$pageIndex,$pageSize=10){ $data[‘status‘]=array(‘neq‘,-1); $offset=($pageIndex-1)*$pageSize; $list=$this->_db->where($data)->order(‘listorder desc,menu_id desc‘)->limit($offset,$pageSize); return $list; } /** * 获取菜单总数 */ public function getMenusCount($data=array()){ $data[‘status‘]=array(‘neq‘,-1); return $this->_db->where($data)->count(); } /** * 根据ID获取菜单ID */ public function find($id){ if(!$id || !is_numeric($id)){ return array(); } return $this->_db->where("menu_id={}$id")->find(); } /** * 根据ID更新菜单 */ public function updateMenuById($id,$data){ if(!$id || !is_numeric($id)){ throw_exception("ID不合法"); } if(!$data || !is_array($data)){ throw_exception(‘更新的数据不合法‘); } return $this->_db->where("menu_id={$id}")->save($data); } /** * 更新排队序号 */ public function updateMenuListOrderById($id,$listorder){ if(!$id || !is_numeric($id)){ throw_exception(‘ID不合法‘); } $data=array( ‘listorder‘=>intval($listorder); ); return $this->_db->where("menu_id={$id}")->save($data); } /** * 获取后台菜单 */ public function getAdminMenus(){ $data=array( ‘status‘=>array(‘neq‘,-1), ‘type‘=>1 ); return $this->_db->where($data)->order(‘listorder desc,menu_id desc‘)->select(); } /** * 获取前台菜单 */ public function getBarMenus(){ $data=array( ‘status‘=>1, ‘type‘=>0 ); return $this->_db->where($data)->order(‘listordre desc,menu_id desc‘)->select(); } } ?>
菜单管理控制器类的代码:
<?php namespace Admin\Controller; use Think\Controller; class MenuController extends CommonController{ public function index(){ $data=array(); if(isset($_REQUEST[‘type‘]) && in_array($_REQUEST, array(0,1))){ $data[‘type‘]=intval($_REQUEST[‘type‘]); $this->assign(‘type‘,$data[‘type‘]); }else{ $this->assign(‘type‘,-100); } } public function add(){ if($_POST){ if(!isset($_POST[‘name‘]) || !$_POST[‘name‘]){ return jsonResult(0, ‘菜单名不能为空‘); } if(!isset($_POST[‘m‘]) || !$_POST[‘m‘]){ return jsonResult(0, ‘模块名不能为空‘); } if(!isset($_POST[‘c‘]) || !$_POST[‘c‘]){ return jsonResult(0, ‘控制器不能为空‘); } if(!isset($_POST[‘f‘]) || !$_POST[‘f‘]){ return jsonResult(0, ‘方法名不能为空‘); } if($_POST[‘menu_id‘]){ return $this->save($_POST); } $menuId=D("Menu")->insert($_POST); if($menuId){ return jsonResult(1, ‘新增成功‘, $menuId); } return jsonResult(0, ‘新增失败‘, $menuId); }else{ $this->display(); } } public function edit(){ $menuId=$_REQUEST[‘id‘]; $menu=D("Menu")->find($menuId); $this->assign(‘menu‘,$menu); $this->display(); } public function save($data){ $menuId=$data[‘menu_id‘]; unset($data[‘menu_id‘]); try{ $id=D("Menu")->updateMenuById($menuid,$data); if($id===FALSE){ return jsonResult(0, ‘保存失败‘); } return jsonResult(0,‘保存成‘); }catch(Exception $ex){ return jsonResult(0,$ex->getMessage()); } } public function setStatus(){ try{ if($_POST){ $id=$_POST[‘id‘]; $status=$_POST[‘status‘]; $ret=D("Menu")->updateStatusById($id,$status); if($ret){ return jsonResult(1,‘操作成功‘); }else{ return jsonResult(0,‘操作失败‘); } } }catch(Exception $ex){ return jsonResult(0,$ex->getMessage()); } return jsonResult(0,‘没有提交数据‘); } /** * 数据排序 */ public function listorder(){ $listoreder=$_POST[‘listorder‘]; $data =array(‘jump_url‘=> $_SERVER[‘HTTP_REFERER‘]); $errors=array(); if($listoreder){ try{ foreach($listorder as $emnuId=>$v){ $id=D("Menu")->updateMenuListorderById($menuId,$v); if($id===false){ $errors[]=$menuId; } } }catch(Exception $ex){ return jsonResult(0, $ex->getMessage(), $data) } if($errors){ return jsonResult(0,"排序失败-".implode(‘,‘, $errors), $data); } return jsonResult(1, ‘排序成功‘, $data) } return jsonResult(0,‘数据排序失败‘, $data); } } ?>
今晚就暂时写这么点,明晚开始做前端的开发,明天就周五了,如果周六不用加班,我会加大马力在这周内结束该项目的。(^_?)☆
源码地址:https://github.com/YoZiLin/TP-CMS
原文:http://www.cnblogs.com/lzy138/p/7215380.html
内容总结
以上是互联网集市为您收集整理的前端到后台ThinkPHP开发整站(4)全部内容,希望文章能够帮你解决前端到后台ThinkPHP开发整站(4)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。