后台 配置页面功能设计

44 篇文章 10 订阅

背景:

每个网站开发中,多多少少会需要一些默认的配置项,相对而言一条条的手动添加是极为繁琐的,要分类各种图片、文字、文件、单选、多选按钮等,在此提供一种设计思路,记不清从哪里参考而来的,个人认为比较方便,也有很大的扩展性...


一.数据库设计

1.数据库设计截图

2.数据库SQL创建语句

CREATE TABLE `xx_conf` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID标记',
  `tag` varchar(20) DEFAULT NULL COMMENT '缩写标签',
  `title` varchar(50) DEFAULT NULL COMMENT '配置项标题',
  `value` text COMMENT '配置项的 取值',
  `type` varchar(20) DEFAULT NULL COMMENT '类型',
  `tip` varchar(50) DEFAULT NULL COMMENT '配置项提示信息',
  `sort` int(11) DEFAULT NULL COMMENT '排序',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

3.数据库信息参考



二.前端设计

1.添加页面展示

 


2.核心代码参考



三.后台代码设计

1.ConfigController.class.php 代码

private $confModel;
public function __construct()
{
    parent::__construct();
    $this->confModel = new ConfModel();
}
/**
 * 基本配置界面
 */
public function index(){
    if(IS_POST){
        $updateTag = $this->confModel->updateConfData();
        if($updateTag){
            $this->success('修改成功',U('Config/index'),2);
        }else{
            $this->error('修改失败',U('Config/index'),2);
        }
    }else{
        $confData = $this->confModel->getConfData();
        $this->assign('confData',$confData);
        $this->display();
    }
}
/**
 * 配置项的添加
 */
public function add(){
    $tag = $this->confModel->addConfigData();
    if ($tag){
        $content = '配置项添加成功';
    }else{
        $content = '配置项添加失败';
    }
    $this->success($content,U('Config/index'),1);
}

2.ConfModel类内部核心代码参考

注意一点,对于如下关于图片上传的代码,请参考上一篇文章的介绍,涉及到的主要代码都可以直接参考,此处不做赘述。

public function addConfigData(){
    $postData = $_POST;
    $tag = $this->db_conf_mi
        ->add($postData);
    return $tag;
}
/**
 * 更新配置信息
 */
public function updateConfData(){
    $postData = $_POST;
    foreach ($postData as $key => $value){
        $save = array(
            'value' => $value,
        );
        $this->db_conf_mi
            ->where("tag = '".$key."'")
            ->save($save);
    }
    //file文件数据更新
    foreach ($_FILES as $key => $value){
        $img = handleImg($key);
        $furl = C('REMOTE_ROOT').$img;
        if ($img){
            ftp_upload($furl,$img);
            $saveData['value'] = $img;
            $this->db_conf_mi
                ->where("tag = '".$key."'")
                ->save($saveData);
        }
    }
    return 1;
}

四.实现效果截图


五.附录

1.补录

可建议自行添加配置项排序功能

如果时间允许,建议将不同类型的配置项进行剥离处理,方便统一页面设计,美观适用性增强。


2.源代码下载 >>>







  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值