夺命雷公狗ThinkPHP项目之----企业网站17之网站配置页的添加

为了网站可以智能一点,所以我们开始来写一个网站配置的功能。。

所以我来写他的数据表:

先来完成他的添加功能,页面效果如下所示:

lists.html代码如下所示:

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>后台管理</title>
    <link rel="stylesheet" type="text/css" href="__PUBLIC__/Admin/css/common.css"/>
    <link rel="stylesheet" type="text/css" href="__PUBLIC__/Admin/css/main.css"/>
    <script type="text/javascript" src="__PUBLIC__/Admin/js/libs/modernizr.min.js"></script>
    <script type="text/javascript" src="__PUBLIC__/Admin/js/jq18m.js"></script>
    <script type="text/javascript" src="__PUBLIC__/Admin/js/hileft.js"></script>

        <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Ueditor/ueditor.config.js"></script>

        <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Ueditor/ueditor.all.min.js"></script>
        <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Ueditor/lang/zh-cn/zh-cn.js"></script>

</head>
<body>

<include file="Public/header" />

<div class="container clearfix">
    <include file="Public/left" />
    <!--/sidebar-->
    <div class="main-wrap">

        <div class="crumb-wrap">
            <div class="crumb-list"><i class="icon-font"></i><a href="/jscss/admin/design/">首页</a><span class="crumb-step">&gt;</span><a class="crumb-name" href="/jscss/admin/design/">作品管理</a><span class="crumb-step">&gt;</span><span>新增作品</span></div>
        </div>
        <div class="result-wrap">
            <div class="result-content">
                <form action="" method="post" id="myform" name="myform" enctype="multipart/form-data">
                    <table class="insert-tab" width="100%">
                        <tbody>

                            <tr>
                                <th><i class="require-red">*</i>网站名称:</th>
                                <td>
                                    <input class="common-text required" id="title" name="cf_name" size="50" value="" type="text">
                                </td>
                            </tr>

                            <tr>
                                <th><i class="require-red">*</i>网站英文名称:</th>
                                <td><input class="common-text" name="cf_ename" size="50"  type="text"></td>
                            </tr>

                            <tr>
                                <th>描述Description:</th>
                                <td>
                                    <textarea name="cf_desc" style="width:420px; height:85px;"></textarea>
                                </td>
                            </tr>

                            <tr>
                                <th>关键词Keywords:</th>
                                <td>
                                    <textarea name="cf_keywords" style="width:420px; height:85px;"></textarea>
                                </td>
                            </tr>

                            <tr>
                                <th>网站备案信息:</th>
                                <td>
                                    <textarea name="cf_record" style="width:420px; height:85px;"></textarea>
                                </td>
                            </tr>

                            <tr>
                                <th></th>
                                <td>
                                    <input class="btn btn-primary btn6 mr10" value="提交" type="submit">
                                    <input class="btn btn6" onclick="history.go(-1)" value="返回" type="button">
                                </td>
                            </tr>
                        </tbody></table>
                </form>
            </div>
        </div>

    </div>
    <!--/main-->
</div>
<script type="text/javascript">
    UE.getEditor(‘content‘,{initialFrameWidth:890,initialFrameHeight:550});
    //initialFrameWidth: null 这样就是他自动设置大小
</script>
<style type="text/css">
    #edui2 div{
        height:25px;
    }
</style>
</body>
</html>

然后我们开始写我们的控制器了,思路是先去查下网站是否有相关的配置信息了,如果有就不让他进行添加了,提示让他直接进行修改即可:

public function add(){
        if(IS_POST){
            $data[‘cf_name‘] = I(‘cf_name‘);
            $data[‘cf_ename‘] = I(‘cf_ename‘);
            $data[‘cf_desc‘] = I(‘cf_desc‘);
            $data[‘cf_keywords‘] = I(‘cf_keywords‘);
            $data[‘cf_record‘] = I(‘cf_record‘);
            //主要作用是用来查找下是否存在,如果存在则不允许创建
            $mod = M(‘Conf‘)->find(‘1‘);
            if(empty($mod)){
                $mod = D(‘Conf‘);
                if($mod->create($data)){
                    if($mod->add()){
                        $this->success(‘添加栏目成功‘,U(‘Conf/lists‘));
                    }else{
                        $this ->error(‘添加栏目失败‘);
                    }
                }else{
                    $this -> error($mod->getError());
                }
            }else{
                $this ->error(‘网站配置信息只能配置一次,如果想从新配置请在--》配置详情--》点击修改即可‘);
            }
            return;
        }
        $this -> display();
    }

我们用到了大 D 方法,当然不能少的了我们的model层的验证了,主要是用来验证网站的名称和英文名的,不能让他为空:

<?php
    namespace Admin\Model;
    use Think\Model;
    class ConfModel extends Model{
        protected $_validate = array(
            //array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),
            array(‘cf_name‘,‘require‘,‘网站名称必须填写!‘), //默认情况下用正则进行验证
            array(‘cf_ename‘,‘require‘,‘英文名称必须填写!‘), //默认情况下用正则进行验证
        );
    }

这样我们即可成功的写上我们的添加功能了,,YES,,

时间: 2024-12-28 02:16:56

夺命雷公狗ThinkPHP项目之----企业网站17之网站配置页的添加的相关文章

夺命雷公狗ThinkPHP项目之----企业网站1之快速搭建后台

我们还是老规矩照老方法,将框架里面多余的东西都干掉,然后在index.php里面将框架搭建起来 <?php //定义项目目录 define('APP_PATH','./WEB/'); //开启调试 define('APP_DEBUG',True); //包含thinkphp项目入口文件 require "Thinkphp/Thinkphp.php"; 然后进入WEB目录下,并复制一个Home然后改名为Admin 然后再Index控制器下进行操作 代码如下所示: <?php

夺命雷公狗ThinkPHP项目之----企业网站28之网站前台左侧导航的实现

我们基于刚才在model层的找顶级分类的代码在进行修改即可: <?php namespace Home\Controller; use Think\Controller; class CommonController extends Controller { function __construct(){ //继承父类的构造方法,所以网站在执行的时候会先执行他 parent::__construct(); //头部二级分类的显示 开始 $mod = M("Category");

夺命雷公狗ThinkPHP项目之----企业网站4之数据库连接

我们众所周知,我们在开发的时候网站是需要连接上我们的数据库的,毕竟数据库是网站的最核心之一嘛,废话不多说直接开干.... 我们先找到:config.php文件对她进行修改,因为我们网站前后台都用到数据库,所以我们直接在yao\WEB\Common\Conf下找到config.php前后台共享的文件里面修改下数据库配置即可.. 代码如下所示: <?php return array( //'配置项'=>'配置值' //系统中允许访问的模块(前后台) 'MODULE_ALLOW_LIST' =>

夺命雷公狗ThinkPHP项目之----企业网站26之网站前台列表页的显示和完成分页功能

我们用大I接收到我们get过来的栏目页的id然后通过文章的ar_cateid 来判断是不是属于该栏目下的,如果文章表ar_cateid = 栏目表的cate_id 那么就可以选出我们要查找的信息, 然后再遍历到视图即可... <?php namespace Home\Controller; use Think\Controller; class ListsController extends CommonController { public function lists(){ //获取栏目的i

夺命雷公狗ThinkPHP项目之----企业网站27之网站前台单页的完成(从百度编辑器里面取出文章数据)

我们的单页面里主要是为了可以取出文章分类表的栏目内容,废话先不说, 我们的实现要点: 1...获取get过来的栏目cate_id 2...然后用条件查询栏目表 <?php namespace Home\Controller; use Think\Controller; class PageController extends CommonController { public function page(){ $catid = I('cate_id'); $mod = D("Categor

夺命雷公狗ThinkPHP项目之----企业网站21之网站前台二级分类显示名称(TP自定义函数展示无限极分类)

我们实现网站二级分类的显示的时候,先要考虑的是直接取出顶级栏目,控制器代码如下所示: <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $mod = M("Category"); $where['cate_pid'] = '0'; //这样写可以达到一种防SQL注入的效果 $cate =

夺命雷公狗ThinkPHP项目之----企业网站20之网站前台头尾分离

我们的网站直接让他头尾进行分离即可: 然后在代码里面找到id 为header的这段代码: 然后将整个div的内容都给弄出来,然后在view里面创建一个Public的目录,然后在创建一个header.html的文件,将这段代码直接给放进去即可... 然后再会到我们首页的index.html页面下用tp为我们准备好的标签对她引入即可: 然后我们回到浏览器里面测试以下,即可发现测试已经成功了:

夺命雷公狗ThinkPHP项目之----企业网站22之网站前台中间层(解决代码冗余)

我们如果这样写代码虽然可以实现头部二级分类的显示,但是如果再别的控制器下那么会出现显示不了.. 如果再加多一段一样的代码也可以实现出一样的效果: 但是这样会导致代码冗余现象,所以我们为了解决这个问题,可以通过一个中间层来处理,所以我们创建一个CommonController.class.php的控制器来实现解决代码冗余的一部分问题: <?php namespace Home\Controller; use Think\Controller; class CommonController exte

夺命雷公狗ThinkPHP项目之----企业网站18之网站配置列表页的完成

我们点击下配置列表即可查看我们列表页的配置信息了: 其实这个最简单了,首先我们先来完成他控制器的代码: public function lists(){ $mod = M('Conf')->select(); $this -> assign('mod',$mod); $this -> display(); } 查找到了,后我们直接到列表页进行遍历数据即可: <!doctype html> <html> <head> <meta charset=&