输入框
ClassCMS后台附带一些常用的输入框,通过输入框方法也可以快速制作各类输入框/编辑器.
输入框方法格式:
function xxxx($action,$config=array()) {
switch($action) {
case 'name':
Return '输入框名';//返回输入框名
case 'hash':
Return 'xxxx';//返回输入框标识,不能与其他应用的重复
case 'group':
Return '';//返回输入框组名,简单的输入框组名为空,编辑器类组名为编辑器
case 'sql':
Return 'varchar(255)';//输入框的sql类型 如int(1) varchar(255) text() longtext()等
case 'form':
echo('html...');//输出表单代码,也可以使用V函数载入模板文件
Return '';
case 'ajax':
//如果输入框存在ajax交互,则需要此方法
Return '';
case 'view':
Return $config['value'];//返回后台文章列表页展示的内容,如果不存在此action,则默认输出输入框的值
case 'defaultvalue':
Return '';//一般不需要此action,某些字段(如时间),当后台用户没有此字段的权限,系统自动为此文章加上默认值
case 'post':
Return $_POST[$config['name']];
//将post数据返回给系统,需要判断是否存在post数组名,格式化html代码等操作
//如果return null 则表示不需要修改当前字段/变量信息,如:密码输入框return null即表示不需要修改密码字段
//如果return false则表示提交的信息错误
//如果return array('error'=>'错误信息')则表示提交的信息错误,并且返回具体错误信息
case 'auth':
Return array('html'=>'允许HTML代码');
//返回编辑器的权限列表数组,可以在后台勾选各个角色的权限,如果不存在此action,则默认权限为 读取与修改权限
case 'config':
//返回编辑器的后台配置选项
Return array(
array('configname'=>'输入框提示','hash'=>'placeholder','inputhash'=>'text','tips'=>'输入框的placeholder'),
array('configname'=>'输入框宽度','hash'=>'width','inputhash'=>'text','tips'=>'使用百分比,如:40% 或者 固定宽度如:200px')
);
}
Return false;
}
系统调用输入框方法时会传入两个参数$action(动作)与$config(配置信息)
$action 动作
一个输入框方法内必须包含 name hash sql form post方法,其它非必要的方法:group ajax view defaultvalue auth config
$config 配置信息
配置信息内存储着当前调用的输入框的各类信息,如:输入框的name,是否为空,权限等选项,可以在输入框方法内通过判断这些值来返回具体的信息.
$config['name'] 当前表单的name
$config['value'] 当前输入框的值
$config['disabled'] 当前输入框是否禁用
$config['nonull'] 是否为必填 可以post动作内判断提交过来的表单是否为空
$config['kind'] 类型,column为文章字段,var为栏目变量,info为用户属性
$config['auth'] 当前用户的权限列表,一般有$config['auth']['read'],$config['auth']['write'],如输入框auth动作返回了其它权限,则也可以通过$config['auth']['xxxx']来判断是否有相应的权限
$config['ajax_url'] 当前输入框的ajax交互地址
如果输入框config动作内返回了其他配置项目,配置项目的值也会传入$config内
具体输入框制作方法可以参考/class/admin/input.php文件
安装输入框方法
使用cms:input:add 方法将输入框方法 增加至系统,供后台或其它应用调用
C('cms:input:add','this:xxxx');//安装当前应用下的xxxx方法
可以在应用主文件install方法内安装输入框方法