新闻缩略图模块

原创 2018-12-22 19:31:51 444
摘要:总体来说,和新闻列表页面几乎差不多,查询记录,多了一个对渲染的模板变量进行进行一个查询操作,也就是根据缩略图的字段news_id来查询news表的字段title,创建一个公共函数,来调用公共函数,将news_id的值传过去一.新闻缩略图页面模板渲染,其中的所属新闻标题,和作者字段的值通过公共函数来进行查询赋值namespace app\admin\controller; use 

总体来说,和新闻列表页面几乎差不多,查询记录,多了一个对渲染的模板变量进行进行一个查询操作,也就是根据缩略图的字段news_id来查询news表的字段title,创建一个公共函数,来调用公共函数,将news_id的值传过去

一.新闻缩略图页面模板渲染,其中的所属新闻标题,和作者字段的值通过公共函数来进行查询赋值

namespace app\admin\controller;
use app\admin\common\Common;
use app\admin\model\News;
use think\facade\Request;
use app\admin\model\NewsPic as NewsPicModel;
public function index()
{
    //获取所有信息
    $rows = NewsPicModel::all();
    //赋值给模板
    $this->view->assign('rows',$rows);
    return $this->view->fetch();
}

    * 公共函数

//获取新闻标题
function getNewsTitle($news_id)
{
    return Db::connect('qiye')->table('news')
        ->where('id',$news_id)->value('title');
}

//获取新闻管理员
function getNewsUser($uid)
{
    return Db::connect('qiye')->table('user')
        ->where('id',$uid)->value('username');
}


11.png

    * news_pic表的模型创建

namespace app\admin\model;
use think\Model;
use think\model\concern\SoftDelete;

class NewsPic extends Model
{
    //使用trait软删除
    use SoftDelete;

    //表名
    protected $table = 'news_pic';

    //主键
    protected $pk = 'id';

    //开启自动时间戳
    protected $autoWriteTimestamp = true;


    //设置一下用户自定义的新增和更新时间的字段名
    protected $createTime = 'create_time';
    protected $updateTime = 'update_time';

    //设置软删除字段
    protected $defaultSoftDelete = 'delete_time';

}

二.新增新闻缩略图

    * 新增缩略图页面视图渲染,并将新闻表中的title值传到模板变量中.

public function add()
{
    //查询所有新闻数据
    $news = News::all();
    //将数据赋值给模板
    $this->view->news = $news;

    //渲染新闻缩略图添加页面
    return $this->view->fetch();
}

    * 新增页面的上传图片的接口写入,和新闻列表的富文本图片几乎一样

public function upload()
{
    //获取上传图片信息
    $file = Request::file('file');
    if(!$file){
        return ['res'=>0, 'msg'=>'没有上传文件'];
    }
    //验证图片并移动到指定目录
    if($info = $file->validate(['ext'=>'jpg,jpeg,gif,png','size'=>2000000])->move('upload')){
        //拼接图片路径
        $fileName = '/upload/'.$info->getSaveName();
        return json([1,'上传成功','data'=>$fileName]);
    }else{
        //返回错误信息
        return $file->getError();
    }
}

    * 执行新增操作,将通过表单传过来的值通过模型写入到数据表中,其中uid为session中的id

public function doAdd()
{
    $data = Request::param();    //获取数据
    $res = NewsPicModel::create($data);    //执行新增
    //判断成功与否并返回对应信息
    if($res){
        return ['res'=>1, 'msg'=>'上传成功'];
    }else{
        return ['res'=>0, 'msg'=>'上传失败'];
    }
}

12.png

三.软删除操作

    和之前的一样,也是通过传过来的id来删除

public function del()
{
    //获取id
    $id = Request::param('id');
    //判断是否存在
    if($id != true){
        return ['res'=>0,'msg'=>'非法操作'];
    }
    //执行软删除
    $res = NewsPicModel::destroy($id);
    //返回结果和错误信息
    if($res){
        return ['res'=>1,'msg'=>'删除成功'];
    }else{
        return ['res'=>1,'msg'=>'删除成功'];
    }

}

14.png




批改老师:天蓬老师批改时间:2018-12-23 09:53:07
老师总结:作业完成的不错,合格。有总结有运行结果,继续加油

发布手记

热门词条