文章编辑控制器代码
//渲染编辑文章的页面
public function artEdit()
{
//1.获取到分类的id
$artId = Request::param('id');
//2.根据主键查询要更新的文章信息
$artInfo = ArtModel::where('id',$artId)->find();
//获取栏目信息
$cateList = CateModel::all();
//3.设置模板变量
$this->view->assign('title','编辑文章');
$this->view->assign('artInfo',$artInfo);
$this->view->assign('cateList',$cateList);
//渲染显示模板
return $this->view->fetch('artedit');
}
//执行更新操作
public function doEdit()
{
//1.获取用户提交的信息
$data = Request::post();
//2.获取上传图片信息
//验证成功
//获取一下上传图片的信息 也就是文件对象 title_img与前端字段相同且与数据库字段相同
$file = Request::file('title_img');
//文件信息验证成功后,再上传到服务器上的指定 目录,以 public 为起始目录
$info = $file->validate([
'size'=>1000000,
'ext'=>'jpeg,jpg,png,gif',
])->move('uploads/');
if($info){
$data['title_img'] = $info->getSaveName();
}else{
$this->error($file->getError());
}
//将数据写到数据表中
if(ArtModel::update($data)){
$this->success("文章更新成功","artList");
}else{
$this->error("文章保存失败");
}
}
前端文章编辑页artedit.html
{layout name="public:layout" /}
<h4 class="text-center text-success">编辑文章</h4>
<form action="{:url('article/doEdit')}" method="post" enctype="multipart/form-data">
<!--隐藏域携带 用户id-->
<input type="hidden" name="id" value="{$artInfo.id}">
<div class="form-group">
<label for="title" class="col-sm-2 control-label">标题</label>
<input type="text" name="title" class="form-control" id="title" value="{$artInfo.title}">
</div>
<div class="form-group">
<label for="title" class="col-sm-2 control-label">分类</label>
<select name="category_id" id="" class="form-control">
{volist name="cateList" id="cate"}
<option value="{$cate.id}">{$cate.name}</option>
{/volist}
</select>
</div>
<div class="form-group">
<label for="title" class="col-sm-2 control-label">内容</label>
<textarea class="form-control" name="content" id="content" style="min-height: 250px">{$artInfo.content}
</textarea>
</div>
<img src="/zh/public/uploads/{$artInfo.title_img}" class="img-rounded" width="100px">
<div class="form-group">
<label for="title" class="col-sm-2 control-label">标题图片</label>
<input type="file" name="title_img" class="form-control" id="title_img" placeholder="标题图片">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary" id="submit">保存</button>
</div>
</form>
显示结果页