###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;
}
④、效果预览
添加字段时:
![](https://box.kancloud.cn/2016-03-07_56dd0a84a58d0.png)
发布内容时:
![](https://box.kancloud.cn/2016-03-07_56dd0a84b4efe.png)
就像示例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模型回调函数开发