#介绍
这是个令人激动的功能!
源码参考了OpenCenter
先看一段代码
~~~
public function menulist(){
//生成页面之前建构数据模型
$id = $_GET['id'];
$breadcrumb=getBreadcrumb($id);
$this->breadcrumb = $breadcrumb;
$table=array(
'id'=>'id',
'pid'=>'父ID',
'title'=>'名称',
'sort'=>'排序值',
'url'=>'链接地址',
'icon'=>'图表',
'status'=>'状态',
'c_time'=>'创建时间',
// 'u_time'=>'修改时间',
);
$page =$_GET['page'];
$system = M('Menu');
$count = $system->count();
$page_list = ceil($count/10);
$info = $system->where(array('status'=>'1'))->page($page,10)->select();
//调用表格制作函数 返回make_table 用来拆分$tbale 的key 和 value
$make_table=makeTable($table);
//调用jankzmaker 生成页面
$jankzmaker = new \JankzMaker\Controller\Admin\MakerTable();
$jankzmaker->setMetaTitle('测试')
->setTbodyData($info)//总数据
->setTbodyList($make_table['list'])//循环列表 这里根据table设定生成
->setThead($make_table['thead'])//循环表头 这里根据table设定生成
->addRightBtn('info')
->addRightBtn('edit')
->addRightBtn('forbid')
->addRightBtn('resume')
->addRightBtn('delete')
->addTopBtn('add,forbid')
->addTopBtn('delete')
->setPage($page_list)
->display();
}
~~~
这个函数看起来比较复杂,仔细分析 却意味深长.
来看看现在生产的页面吧
原理:
定义的表格$table 的键 和值 通过函数make_table()函数分离两个数组list 和thead 保存在$make_taable()中
这里的键对应数据库的name 值对应对应表格的表头.
设置表格数据,一般从数据库读取
setTbodyData($info)
循环表头 这里根据table设定生成
setThead($make_table['thead'])
循环列表 这里根据table设定生成
setTbodyList($make_table['list'])
添加头部操作按钮 一般为新增 禁用 删除
addTopBtn
添加表格右侧操作按钮 一般为查看 编辑 启用 禁用 删除
addRightBtn
设置数据分页
setPage
具体参见jankzTable
### 生成form表单
~~~
public function add(){
if(!empty($_POST)){
$system =D('Menu');
$system->create();
$res = $system->add();
if($res){
$this->success('添加成功',U('Menu'));
}else{
$this->error($system->getError());
}
}else{
$info = getList();//调用无限级分类函数
$jankzmaker = new \JankzMaker\Controller\Admin\MakerForm();
$jankzmaker->setMetaTitle('后台管理')
->setCoulmn(2)//配置不分列
->setUrl(U('Menu/add'))
->addFormItem('title','text','菜单名称','',1)
->addFormItem('sort','text','排序值','',2)
->addFormItem('url','text','链接地址','',1)
->addFormItem('icon','text','图标','',2)
->addFormItem('pid','select','父ID','',1,$info)
->display();
}
}
~~~
setUrl()
设置提交地址
添加表单元素
addFormItem()
打印表单
display()
- 序言
- 基础
- 简介
- 获得Jzopen
- 安装
- 配置
- 系统默认配置参考
- 新增配置项
- 数据库
- 预览
- Auth认证
- Session
- User
- Menu
- Manager
- Group
- Role
- 系统结构
- jankzMaker
- V1.0
- MakerTable
- MakerForm
- v1.1
- FormMaker
- 重装系统
- jankzForm
- jankzform-v1.0
- jankzform.html
- jankzform-v1.1
- jankzTable
- jankztable-v1.0
- jankztable.html
- jankzPage
- jankzpage-v1.0
- jankzpage.html
- elementary
- form
- text
- password
- select
- radio
- checkbox
- btn
- btns
- textarea
- hidden
- image
- editor
- toggle
- label
- labels
- rating
- slider
- sliders
- divider
- icon-divider
- pages
- table
- 二次开发
- jzopen后台
- 精简系统
- 插件开发
- 官方插件
- 第三方插件
- 独有专享插件
- 户主开发插件
- 云商店
- 云商店下载插件
- 插件上传
- 在线升级
- 检查升级
- 升级常见问题
- 部署
- 推荐配置
- 阿里云ECS部署
- 新浪Sae部署