###3.12自定義字段類別
---
自定義字段的相關函數一般放在/extensions/custom.php文件中,因為是自定義的,此文件不影響升級,大家都懂
一、函數介紹
1、字段類別函數:_formtype(),格式array('字段英文名字'=>'字段提示名稱')
2、字段配置函數:form_字段英文名字($setting=null)
3、表單輸出函數:content_字段英文名字($name, $content=null, $field=null)
二、舉例說明
1、建立一個文本框字段(名稱為test)
①、字段類別函數
function _formtype() {
return array(
'test' => '測試', //前者test表示字段的英文名稱,后者表示字段的描述名稱
);
}
②、字段配置函數
function form_test($setting=null) {
$size = isset($setting['size']) ? $setting['size'] : 150; //如果不填寫長度,默認為150
$default = isset($setting['default']) ? $setting['default'] : ''; //默認值,都能看懂
return '
<table width="98%" cellspacing="1" cellpadding="2">
<tbody>
<tr>
<td width="100">文本框長度 :</td>
<td><input type="text" class="input-text" size="10" value="' . $size . '" name="setting[size]"><font color="gray">px</font></td>
</tr>
<tr>
<td>默認值 :</td>
<td><input type="text" class="input-text" size="30" value="' . $default . '" name="setting[default]"></td>
</tr>
</tbody>
</table>';
}
③、表單輸出函數
function content_test($name, $content=null, $field=null) {
$setting = isset($field['setting']) ? string2array($field['setting']) : $field; //配置
$required = isset($field['not_null']) && $field['not_null'] ? ' required' : ''; //必填字段
//$errortips = isset($field['errortips']) && $field['errortips'] ? ' placeholder="' . $field['errortips'] . '"' : ''; //錯誤提示
$pattern = isset($field['pattern']) && $field['pattern'] ? ' pattern="' . $field['pattern'] . '"' : ''; //正則判斷
$content = is_null($content[0]) ? get_content_value($setting['default']) : $content[0]; //字段內容,固定值
return '<input type="text" value="' . $content . '" class="input-text" name="data[' . $name . ']" width=' . $setting['size']. '>'; //表單Name值格式為data[字段名稱]
}
2、建立一個讀取會員組表中的數據(名字為membergroup)
①、字段類別函數
function _formtype() {
return array(
'test' => '測試', //前者test表示字段的英文名稱,后者表示字段的描述名稱
'membergroup' => '會員組', //前者membergroup表示字段的英文名稱,后者表示字段的描述名稱
);
}
②、字段配置函數
function form_membergroup($setting=null) {
$default = isset($setting['default']) ? $setting['default'] : ''; //默認值,都能看懂
//調用會員組表中的數據
$model = Controller::model('member_group');//實例化會員組模型
$data = $model->getAll(1);//獲取會員組表中的全部數據,用于設置默認值
$select = '<select name="setting[default]"><option> -- </option>';
foreach ($data as $t) {
$selected = $default == $t['id'] ? 'selected' : '';
$select .= '<option value="' . $t['id'] . '" ' . $selected . '> ' . $t['name'] . ' </option>';
}
$select .= '</select>';
return '
<table width="98%" cellspacing="1" cellpadding="2">
<tbody>
<tr>
<td width="100">默認會員組 :</td>
<td>' . $select . '</td>
</tr>
</tbody>
</table>';
}
③、表單輸出函數
function content_membergroup($name, $content=null, $field=null) {
$setting = isset($field['setting']) ? string2array($field['setting']) : $field; //配置
$required = isset($field['not_null']) && $field['not_null'] ? ' required' : ''; //必填字段
//$errortips = isset($field['errortips']) && $field['errortips'] ? ' placeholder="' . $field['errortips'] . '"' : ''; //錯誤提示
$pattern = isset($field['pattern']) && $field['pattern'] ? ' pattern="' . $field['pattern'] . '"' : ''; //正則判斷
$content = is_null($content[0]) ? get_content_value($setting['default']) : $content[0]; //字段內容,固定值
//調用會員組表中的數據
$model = Controller::model('member_group');//實例化會員組模型
$data = $model->getAll(1);//獲取會員組表中的全部數據,用于設置默認值
$select = '<select name="data[' . $name . ']"><option> -- </option>';//表單Name值格式為data[字段名稱]
foreach ($data as $t) {
$selected = $content == $t['id'] ? 'selected' : '';
$select .= '<option value="' . $t['id'] . '" ' . $selected . '> ' . $t['name'] . ' </option>';
}
$select .= '</select>';
return $select;
}
④、效果預覽
添加字段時:

發布內容時:

就像示例2,自定義字段類別支持表數據顯示,當然也能自動將數據插入表單,完全支持自定義,只要你想要FineCMS就能幫你實現
- 后臺管理
- 1.首次進入系統有紅色的提示文字
- 2.欄目管理
- 3.附件管理
- 4.會員投稿流程
- 5.自定義模型使用說明
- 6.表單使用教程
- 7.Ucenter使用說明
- 8.站內搜索參數說明及表單設計
- 9.會員擴展使用教程
- 10數據采集
- 代碼配置管理
- 2.1字段類別說明
- 2.2[靜態/偽靜態]自定義URL
- 2.3網站多語言配置方法
- 2.4后臺管理目錄(admin)更改方法介紹
- 2.5自定義Tag標簽的URL
- 2.6多站點及分站配置
- 2.7欄目自定義字段
- 2.8提交表單郵件通知
- 2.9極驗驗證
- 2.10自定義字段表單調用
- 2.11聯動菜單(linkage)
- 2.12模型選項名稱和選項值
- 2.13自定義編輯器
- 2.14個性化URL結構
- 數據結構與標簽模板設計
- 3.1部分表的數據結構
- 3.2模板設計指南
- 3.3萬能標簽list
- 3.4標簽語法說明
- 3.5系統變量介紹
- 3.6系統函數介紹
- 3.7欄目調用說明
- 3.8SQL語句查詢
- 3.9推薦位調用
- 3.10Tag標簽調用
- 3.11插件開發指南
- 3.12自定義字段類別
- 3.13自定義分頁樣式
- 3.14表單模型和會員擴展模型的回調函數
- 3.15模型回調函數開發