ClassCMS

输入框

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方法内安装输入框方法