添加模型字段【复选框】 选项列表 调取数据库内容技术实现方法:

建议
已结 精华
2 410

添加模型字段【复选框】 选项列表 调取数据库内容技术实现方法:

1、修改文件 /extend/clt/Form.php

查找 checkbox 方法,找到

if(is_array($info['options'])){
            $optionsarr = $info['options'];
        }else{
            $options    = $info['setup']['options'];
            $options = explode("\n",$info['setup']['options']);
            foreach($options as $r) {
                $v = explode("|",$r);
                $k = trim($v[1]);
                $optionsarr[$k] = $v[0];
            }
        }

改成

if(is_array($info['options'])){
   $optionsarr = $info['options'];
}else{
   if($info['setup']['options']){   //判断选项列表内的值存在,按照之前的方法走
    $options = $info['setup']['options'];
    $options = explode("\n",$info['setup']['options']);
    foreach($options as $r) {
        $v = explode("|",$r);
        $k = trim($v[1]);
        $optionsarr[$k] = $v[0];
    }
    }else{   //选项列表为空,查找[字段名]的数据库数据,$c['id']为 选项的id,$c['typename']为 选项的名称 
        $class = db($info['field'])->order('sort asc')->select();
	foreach ($class as $c) {
	    $optionsarr[$c['id']] = $c['typename'];
	}
    }   
}

2、后台添加字段

QQ20180703-133000


上一篇:CLTPHP安全更新建议

下一篇:(问题反馈)前台联系我们留言信息不能提交

回帖
  • 2018-07-03 17:02:02

    我也分享过了,没你这么仔细。


    0 回复
  • 嗯,就是参考你的方案做的,然后我把其他的 下拉列表(单选和多选) 都改成这种模式了,用着挺方便。
    0 回复
取消评论