#介紹
這是個令人激動的功能!
源碼參考了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部署