破附粒椒程龚侩睦男韶诺害户
文章分类表结构及数据
其中字段cate_type中0表示单页面 1 表示列表页
创建模型类Category.php
代码:
<?php namespace app\common\model; //引入系统模型 use think\Model; //要使用模型必须继承系统模型 class Category extends Model { //配饰数据库的连接参数,因为使用了个性化的字符串连接 所以这里要写 //直接使用tp的数据库连接方式 这里就不用写 protected $connection="db_qiye"; //配置数据表 protected $table="category"; //设置主键 protected $pk="cate_id"; }
创建控制器Category.php
代码:
<?php namespace app\admin\controller; //引入公共控制器 use app\common\controller\Base; //引入模板 use app\common\model\Category as CateModel; class Category extends Base { public function index() { //显示分类表中的所有数据 // 1.获取分页信息 // 代码解释:all()查询分页表中的所有数据 按照id 升序排列 $cates = CateModel::all(function($query){ $query->order('cate_id','asc'); }); // 2.模板赋值 $this->view->cates=$cates; // 3.渲染模板 return $this->view->fetch(); } }
创建category模板目录 创建index.html(直接复制模板目录site里面的index.html即可)
修改左侧菜单left_nav.html的url 指向分类模板
点击左侧菜单分类列表
因为当前的分类模板不足以显示数据 所以使用x-admin的admin-list.html替换当前模板index.html里面的内容
查看
在模板index.html中输出数据
{include file="common@header"} <div class="x-nav"> <span class="layui-breadcrumb"> <a href="">首页</a> <a href="">分类</a> <a> <cite>分类管理</cite></a> </span> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="javascript:location.replace(location.href);" title="刷新"> <i class="layui-icon" style="line-height:30px">ဂ</i></a> </div> <div class="x-body"> <xblock> <button class="layui-btn" onclick="x_admin_show('添加用户','./admin-add.html')"><i class="layui-icon"></i>添加</button> <span class="x-right" style="line-height:40px">共有数据:88 条</span> </xblock> <table class="layui-table"> <thead> <tr> <th>ID</th> <th>栏目名称</th> <th>排序</th> <th>类型</th> <th>操作</th> </thead> <tbody> <!-- 循环输出数据 --> <!-- name="cates":接收的数据的变量名称 id="cate" 使用变量cate来输出cates中的数据 --> {volist name="cates" id="cate"} <tr> <td>{$cate.cate_id}</td> <td>{$cate.cate_name}</td> <td>{$cate.cate_order}</td> <td>{$cate.cate_type}</td> <td class="td-manage"> <a title="编辑" onclick="x_admin_show('编辑','admin-edit.html')" href="javascript:;"> <i class="layui-icon"></i> </a> <a title="删除" onclick="member_del(this,'要删除的id')" href="javascript:;"> <i class="layui-icon"></i> </a> </td> </tr> {/volist} </tbody> </table> </div> <script> layui.use('laydate', function(){ var laydate = layui.laydate; //执行一个laydate实例 laydate.render({ elem: '#start' //指定元素 }); //执行一个laydate实例 laydate.render({ elem: '#end' //指定元素 }); }); /*用户-停用*/ function member_stop(obj,id){ layer.confirm('确认要停用吗?',function(index){ if($(obj).attr('title')=='启用'){ //发异步把用户状态进行更改 $(obj).attr('title','停用') $(obj).find('i').html(''); $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用'); layer.msg('已停用!',{icon: 5,time:1000}); }else{ $(obj).attr('title','启用') $(obj).find('i').html(''); $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用'); layer.msg('已启用!',{icon: 5,time:1000}); } }); } /*用户-删除*/ function member_del(obj,id){ layer.confirm('确认要删除吗?',function(index){ //发异步删除数据 $(obj).parents("tr").remove(); layer.msg('已删除!',{icon:1,time:1000}); }); } function delAll (argument) { var data = tableCheck.getData(); layer.confirm('确认要删除吗?'+data,function(index){ //捉到所有被选中的,发异步进行删除 layer.msg('删除成功', {icon: 1}); $(".layui-form-checked").not('.header').parents('tr').remove(); }); } </script> </body> </html>
查看:
将类型显示为单页面和列表页
在模型类中设置获取器
<?php namespace app\common\model; //引入系统模型 use think\Model; //要使用模型必须继承系统模型 class Category extends Model { //配饰数据库的连接参数,因为使用了个性化的字符串连接 所以这里要写 //直接使用tp的数据库连接方式 这里就不用写 protected $connection="db_qiye"; //配置数据表 protected $table="category"; //设置主键 protected $pk="cate_id"; //分页类型的获取器 //将category表中cate_type字段依据值进行转换显示 0显示为单页面 1显示为列表页 //函数命名规则getAttr是固定格式 中间是字段名 必须以驼峰命名法命名 这里将cate_type //这里将cate_type 使用驼峰命名为CateType protected function getCateTypeAttr($type) { return $type ? "列表页": "单页面"; } }
注意:获取器的命名规则:
分页类型的获取器
将category表中cate_type字段依据值进行转换显示 0显示为单页面 1显示为列表页
函数命名规则getAttr是固定格式 中间是字段名 必须以驼峰命名法命名 这里将cate_type
这里将cate_type 使用驼峰命名为CateType
查看:
隋甜赖烯登捍竟哺鹊敝尘囤柬