>[info]在后臺【插件管理】里在線安裝【字段管理】插件,然后你就可以直接使用
>[danger]注意:在字段在線安裝后,系統會默認生成一個管理cowcms_field_ceshi數據表的入口,但是該操作中并沒有生成cowcms_field_ceshi數據表,需要用戶自行在數據庫中添加這個表,如果熟悉該插件,可以直接刪除
使用方法:
如管理 cowcms_field_ceshi數據表的字段,請直接訪問url('field/Field/field_list',['table'=>'field_ceshi'])生成的連接,即可操作該數據表

添加字段后
可以通過 url('field/Input/form_add',['table'=>'field_ceshi',‘sign’=>0])生成的連接向cowcms_field_ceshi數據表添加數據
其中 table為數據表,不帶前綴,sign為模版方案的id或者方案標識


可以通過 url('field/Input/form_edit',['table'=>'field_ceshi',‘sign’=>0,‘id’=>1])生成的連接編輯cowcms_field_ceshi數據表數據
其中 table為數據表,不帶前綴,sign為模版方案的id或者方案標識,id為cowcms_field_ceshi表中要編輯記錄的id
>[info]也可以自定義表單提交和表單編輯的頁面,你可以在任何模塊創建你自己的表單頁面
第一步:創建控制器,創建控制時,必須要繼承Form類
```
namespace app\【moduleName】\controller;
use form\Form;
class Input extends Form
/*************************************************************
form_add 添加
*************************************************************/
public function form_add()
{
$table = $this->request->param('table');
$sign = $this->request->param('sign','');
if($this->request -> isAjax() || $this->request-> isPost())
{
$return = formSave();
return $return;
}
else
{
return $this->fetch();
}
}
/*************************************************************
form_edit 編輯
*************************************************************/
public function form_edit()
{
$table = $this->request->param('table');
$id = $this->request->param('id/d',0);
$sign = $this->request->param('sign','');
if($this->request -> isAjax() || $this->request-> isPost())
{
$return = formSave($id);
return $return;
}
else
{
return $this->fetch();
}
}
```
```
/*************************************************************
formSave 保存或者返回提交參數
@param save int 是否直接保存數據 1:直接保存到數據庫中,如果有錯誤提示,返回格式為['err'=>1,'content'=>'錯誤信息'],如果保存成功['err'=>0,'content'=>'操作成功'],0:返回表單提交的數據,如果有錯誤提示,返回格式為['err'=>1,'content'=>'錯誤信息'],如果沒錯誤信息,直接返回處理后的提交表單的數據,為數組
@param id int 編輯記錄的id
@param table tring 數據表名稱
@return int
*************************************************************/
formSave($id=0,$save=1,$table=NULL){
}
```
>[danger]注意:formSave 說明
$id:如果id為真,表示編輯數據表中對應id的記錄,如果不為真,表示插入數據表
$save:是否直接保存數據 1:直接保存到數據庫中,如果有錯誤提示,返回格式為['err'=>1,'content'=>'錯誤信息'],如果保存成功['err'=>0,'content'=>'操作成功'],0:返回表單提交的數據,如果有錯誤提示,返回格式為['err'=>1,'content'=>'錯誤信息'],如果沒錯誤信息,直接返回處理后的提交表單的數據,如['username'=>'wangshan','pass'=>'123456']
$table:如果為真,表示當前操作的數據表,如果不為真,將獲取表單post過來的table,request()->param('table')
第二步:在對應的模版文件中引入js和css文件
```
<link rel="stylesheet" type="text/css" href="__STATIC__style/module/css/font/iconfont.css?v=1.0.1" media="all">
<link rel="stylesheet" type="text/css" href="__STATIC__plug/layui/css/layui.css?v=2.2.2" media="all">
<script type="text/javascript" src="__STATIC__plug/layui/layui.js?v=2.2.2"></script>
<script type="text/javascript" src="__STATIC__style/module/js/common.js?v=2.0.1"></script>
```
其中 __STATIC__為模版替換變量,需要在當前模塊template.php配置文件中設置
```
'tpl_replace_string' => [
'__STATIC__'=> getRoot().'public/static/',
]
```
第三步:在模版中輸出HTML的表單內容
模版中可以直接使用2個變量
form_group:分組顯示每個分組的表單HTML內容

如在添加字段時,字段分組為base,模版中可以通過{$form_group['base']}輸出所有base分組字段的HTML表單內容
form:不進行分組顯示,直接顯示所有字段的HTML表單內容
```
<form id="form1" class="layui-form" action="" method="POST">
{:htmlspecialchars_decode($form)}
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="add_submit">{:lang('add')}</button>
<button type="reset" class="layui-btn layui-btn-primary">{:lang('reset')}</button>
</div>
</div>
</form>
```
第四步:提交表單代碼
```
<script>
layui.use(['jquery','jqbind','form'],function(){
var $ = layui.jquery,
jqbind = layui.jqbind,
form = layui.form
form.on('submit(add_submit)', function(data){
url = "";
$.post(url,data.field,function(res){
if(res.err == 0)
{
parent.layer.msg("{:lang('add')}{:lang('success')}");
var index = parent.layer.getFrameIndex(window.name); //先得到當前iframe層的索引
parent.layer.close(index); //再執行關閉
}
else
{
form.render();
layer.msg(res.content);
}
}, "json");
return false; //阻止表單跳轉。如果需要表單跳轉,去掉這段即可。
});
})
</script>
```
提交代碼可以自行編寫,只要能post提交數據即可
- 序言
- 基礎
- 源碼包
- 核心包
- 完整包
- 系統模塊
- 安裝模塊
- 后臺模塊
- 插件模塊
- 插件開發
- 開發基礎
- 權限開發
- 菜單開發
- 開發調試
- 碎片開發
- 碎片鉤子預設表
- 插件說明
- 字段插件
- 插件介紹
- 字段使用
- 單行文本
- 多行文本
- 選項-下拉
- 選項-復選
- 選項-單選
- 選項-滑塊
- 顏色選擇器
- 星級評分
- 日期時間
- 文件上傳
- 編輯器
- API接口
- 微信插件
- 微信配置
- 公眾號配置
- 支付配置
- 微信支付使用
- API類庫
- 紅包發放
- 付款到零錢
- 碎片
- 公眾號碎片
- 紅包碎片
- 付款到零錢碎片
- API微信接口
- 支付寶插件
- 支付寶配置
- 支付寶支付使用
- api接口
- api接口后端開發
- api接口前端使用
- API參數接口
- 會員插件
- 登錄使用
- 會員碎片
- API會員接口
- API注冊接口
- 積分插件
- 積分設置
- 積分碎片
- API積分接口
- API提現接口
- API兌換接口
- API充值接口
- 訂單
- 訂單碎片
- API訂單接口
- 商城
- 商城鉤子
- API商城接口
- API商城會員接口
- 簽到
- 簽到設置
- 簽到碎片
- API簽到接口
- 上傳
- 上傳設置
- 上傳JS接口
- 推廣插件
- 海報設置
- API海報接口
- 文章插件
- 文章設置
- 文章鉤子
- API文章接口
- API文章會員接口
- 管理員
- 管理員碎片
- 站內信
- API站內信接口
- 雜項
- 菜單
- 菜單設置
- API菜單接口
- 錯誤碼
- 支付碎片
- 支付
- 充值
- 購買會員組
- 購買產品