腾讯云优惠券

呆错后台管理框架表单字段格式化实例

人气:398 更新:2022-11-10

在后端或模板开发时可直接定义表单字段列表,然后使用到DcFormItems函数将普通字段列表格式化为bootstrap的表单属性,DcFields函数可以很方便的将普通一维数组或二级数组格式化为表单字段格式。

private function fields($data=[])
{
    //初始字段
    $fields = [
        'user_slug' => [
            'order'           => 0,
            'type'            => 'text',
            'value'           => $data['user_slug'],
        ],
        'user_nice_name' => [
            'order'           => 0,
            'type'            => 'text',
            'value'           => $data['user_nice_name'],
        ],
        'user_slug' => [
            'order'           => 0,
            'type'            => 'text',
            'value'           => $data['user_slug'],
        ],
        'user_tag' => [
            'order'           => 0,
            'type'            => 'text',
            'value'           => $data['user_tag'],
        ],
        'user_slug' => [
            'order'           => 0,
            'type'            => 'text',
            'value'           => $data['user_slug'],
        ],
    ];
    //合并字段管理添加的动态字段
    if($customs = model('common/Field','loglic')->forms(['module'=>'user','controll'=>['eq','edit']])){
        $fields = array_merge($fields, DcFields($customs, $data));
    }
    //格式化字段列表
    return DcFormItems($fields);
}

DcFields将普通数组格式化为基础表单

//生成两个表单字段
DcFields(['test1','test2']);

//解析结果为
["test1"] => array(7) {
    ["order"] => int(1)
    ["type"] => string(4) "text"
    ["value"] => NULL
    ["option"] => array(0) {
    }
    ["data-filter"] => bool(true)
    ["data-visible"] => bool(true)
    ["data-width"] => int(120)
  }
 ["test2"] => array(7) {
    ["order"] => int(2)
    ["type"] => string(4) "text"
    ["value"] => NULL
    ["option"] => array(0) {
    }
    ["data-filter"] => bool(true)
    ["data-visible"] => bool(true)
    ["data-width"] => int(120)
  }