夺命雷公狗ThinkPHP项目之----企业网站14之文章修改页的完成

这个其实也是挺容易的,我们思路先将栏目页给遍历出来:

这里用了catTree的方法,因为我们要对遍历出来的数据进行排序的,然后来到前端进行完成列表:

<!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="ar_title" size="50" value="{$amod[‘ar_title‘]}" type="text">
                                </td>
                            </tr>

                            <tr>
                                <th><i class="require-red">*</i>文章作者</th>
                                <td><input class="common-text" name="ar_author" size="50" value="{$amod[‘ar_author‘]}" type="text"></td>
                            </tr>

                            <tr>
                                <th>文章压缩图</th>
                                <td>
                                <img src="/{$amod[‘ar_pic‘]}" width="100" height="60" />
                                <input name="ar_pic" id="" type="file"><!--<input type="submit" onclick="submitForm(‘/jscss/admin/design/upload‘)" value="上传图片"/>--></td>
                            </tr>

                        <tr>

                            <th width="120"><i class="require-red">*</i>上级分类:</th>
                            <td>
                                <select name="ar_cateid" id="catid" class="required">
                                   <volist name="cate" id="vos">
                                   <option value="{$vos[‘cate_id‘]}"
                                   <if condition="$vos[‘cate_id‘] eq $amod[‘ar_cateid‘]">
                                   selected="selected"
                                   </if>
                                   >{$vos[‘level‘]|str_repeat="&nbsp;&nbsp;&nbsp;",###}{$vos[‘cate_name‘]}</option>
                                   </volist>
                                </select>
                            </td>
                        </tr>

                            <tr>
                                <th>是否推荐:</th>
                                <if condition="$amod[‘ar_rem‘] eq ‘0‘ ">
                                <td>
                                    已推荐:<input type="checkbox" name="ar_rem" value="{$amod[‘ar_rem‘]}" /> <br />
                                    未推荐:<input type="checkbox" checked name="ar_rem" value="{$amod[‘ar_rem‘]}" />
                                </td>
                                <else />
                                 <td>
                                    已推荐:<input type="checkbox" checked name="ar_rem" value="{$amod[‘ar_rem‘]}" /> <br />
                                    未推荐:<input type="checkbox" name="ar_rem" value="{$amod[‘ar_rem‘]}" />
                                </td>
                                </if>

                            </tr>

                            <tr>
                                <th>文章内容:</th>
                                <td>
                                    <textarea id="content" name="ar_content">{$amod[‘ar_content‘]}</textarea>
                                </td>
                            </tr>

                            <input type="hidden" name="ar_id"  value="{$amod[‘ar_id‘]}" />
                            <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 edit(){
        $id = I(‘ar_id‘);
        //遍历栏目页的内容出来 开始
        $cate = D(‘Category‘)->catTree();
        $this -> assign(‘cate‘,$cate);
        //栏目页内容的遍历 结束

        //指定文章的信息取出 开始
        $amod = M(‘Article‘)->find($id);
        $this -> assign(‘amod‘,$amod);
        //指定文章的信息取出 结束
        if(IS_POST){
            $data[‘ar_title‘] = I(‘ar_title‘);
            $data[‘ar_author‘] = I(‘ar_author‘);
            $data[‘ar_rem‘] = I(‘ar_rem‘);
            $data[‘ar_content‘] = I(‘ar_content‘);
            $data[‘ar_cateid‘] = I(‘ar_cateid‘);
            $data[‘ar_time‘] = time();
            $data[‘ar_id‘] = $id;
            if($_FILES[‘ar_pic‘][‘tmp_name‘]!=‘‘){
                $upload = new \Think\Upload();// 实例化上传类
                $upload->maxSize   = 3145728 ;// 设置附件上传大小
                $upload->exts      = array(‘jpg‘, ‘gif‘, ‘png‘, ‘jpeg‘);// 设置附件上传类型
                $upload->rootPath  = ‘./‘;  //这个一定要加否则很容易中招
                $upload->savePath  =      ‘Public/Uploads/‘; // 设置附件上传目录
                $info   =   $upload->uploadOne($_FILES[‘ar_pic‘]);
                if($info){
                    //删除原来的图片
                    $cp = M(‘Article‘)->find($id);
                    unlink($cp[‘ar_pic‘]);
                    // 上传成功 获取上传文件信息
                    //这里组装sql语句,让图片融入$data[‘pic‘]里面
                    $data[‘ar_pic‘] = $info[‘savepath‘].$info[‘savename‘];
                }else{
                    $this->error($upload->getErro);
                }
            }

            $mod =D("Article");
            if($mod-> create($data)){
                if($mod->save()){
                    $this->success(‘修改栏目成功‘,U(‘Article/lists‘));
                }else{
                    $this ->error(‘修改栏目失败‘);
                }
            }else{
                $this->error($mod->getError());
            }

        }

这样即可完成了。。。。

时间: 2024-10-13 01:15:30

夺命雷公狗ThinkPHP项目之----企业网站14之文章修改页的完成的相关文章

夺命雷公狗ThinkPHP项目之----企业网站16之文章列表页的完善(关联查询)

我们栏目的所属栏目不能总是以数字来显示吧??这样的话,估计老板会让您直接卷铺盖滚蛋噢,嘻嘻... 所以我们需要对她进行关联查询,控制器代码如下所示: public function lists(){ //$mod = M("Article")->select(); //$this -> assign('mod',$mod); $mod = M('Article'); $totalRows = $mod->count(); //创建分页对象时,分页对象需要总记录数和分页

夺命雷公狗ThinkPHP项目之----企业网站16之文章批量删除的完成

我们在做一个网站时候经常会遇到批量删除这个选项,其实也很简单,我们之需要用用jq实现出来效果然后通过表单post过去后端即可实现: 我们做这个功能前必须要先引入jq,我的jq版本是1.8.3,方法如下所示: <script> //在 jq 1.8.3测试成功 $("#selall").click(function(){ if($(this).attr("checked")){ $('.selall').attr("checked",&

夺命雷公狗ThinkPHP项目之----企业网站3之后台栏目页的搭建(百度编辑器的引入)

我们现在就开始搭建我们的后台栏目页的后台了: 首先创建一个CategoryController.class.php的控制器,让列表页和添加页面显示出来先: 然后就是开始动手修改我们的视图部分了: 我们这样即可跳转到指定的页面了,先来完成列表页的部分: 老规矩现引入css和js和图片,然后开始下一步的操作了,因为我们的后台模版处发现他不能自动折叠,如下所示: 然后就开始写列表页的模版文件了: <!doctype html> <html> <head> <meta c

夺命雷公狗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 =