后台 配置页面功能设计

背景:

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


一.数据库设计

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.源代码下载 >>>







你可能感兴趣的:(后台 配置页面功能设计)