文章的修改須要兩步,第一步讀取文章,第二步更新文章,更新完成後返回文章列表頁php
讀取博客控制器前端
//編輯博客方法 public function edit($id=0){ $Article = M('Article'); $this->assign('data',$Article->find($id)); $this->display(); }
更新文章控制器git
// 更新博客 public function update(){ $Article = M("Article"); $time = I('post.a_time')?strtotime(I('post.a_time')):time(); $data = array ( 'a_id' => I('post.a_id'), 'a_title' => I('post.a_title'), 'a_keyword' => I('post.a_keyword'), 'a_remark' => I('post.a_remark'), 'a_content' => I('post.a_content'), 'a_time' => $time, ); if($Article->save($data)) { // 根據條件保存修改的數據 $this->success('編輯成功!','listA'); }else{ $this->error('編輯失敗!'); } }
上面的方法中有對文章發表時間的判斷,若是不填則默認是當前時間,若是填寫就按照填寫時間存入。github
頁面代碼
這裏仍然使用了markdown 編輯器。。。web
<form class="col s12 pt-60" method="post" action="__URL__/update"> <input type="hidden" name="a_id" value="{$data.a_id}"> <div class="row"> <div class="col s9"> <div class="row"> <div class="input-field col s12"> <input id="title" name="a_title" type="text" class="validate" value="{$data.a_title}"> <label for="title">文章標題</label> </div> </div> <div class="row"> <div class="input-field col s12"> <input id="remark" name="a_remark" type="text" class="validate" value="{$data.a_remark}"> <label for="remark">文章描述</label> </div> </div> <div class="row"> <div class="input-field col s12"> <p class="f-16 c-999">文章內容</p> <textarea name="a_content" id="textarea" class="materialize-textarea">{$data.a_content}</textarea> </div> </div> </div> <div class="col s3"> <div class="row"> <div class="input-field col s12"> <input id="keyword" name="a_keyword" type="text" class="validate" value="{$data.a_keyword}"> <label for="keyword">標籤(關鍵字)</label> </div> </div> <div class="row"> <div class="input-field col s12"> <input id="a_time" name="a_time" type="text" class="validate" value="20{$data.a_time|date='y/m/d H:i',###}"> <label for="a_time">時間</label> </div> </div> <button class="btn waves-effect waves-light" type="submit" name="action">更新文章 <i class="by bym-feiji right"></i> </button> </div> </div> </form>
刪除功能就直接作在了列表頁segmentfault
控制器代碼markdown
public function del($id=0){ // 實例化Article對象 $Article = M("Article"); //根據id刪除 $Article->where('a_id = '.$id)->delete(); if($Article) { // 根據條件保存修改的數據 $this->success('文章已刪除!',"../../listA"); }else{ $this->error('刪除失敗!'); } }
頁面代碼編輯器
<volist name="list" id="vo"> <tr> <td class="f-18" width="75%">{$vo.a_title} <span class="f-12 c-999">20{$vo.a_time|date="y/m/d H:i",###}</span></td> <td width="25%"> <a href="{:U('Admin/Blog/edit/id/'.$vo['a_id'])}" class="waves-effect waves-light btn mr-lg">編輯</a> <a href="#modal{$vo.a_id}" class="modal-trigger waves-effect waves-light btn">刪除</a> <div id="modal{$vo.a_id}" class="modal"> <div class="modal-content"> <h4>肯定刪除</h4> <p>{$vo.a_title} 這篇文章????</p> </div> <div class="modal-footer"> <a onclick="$('.modal').closeModal();" class="waves-effect waves-light btn ml-lg ">取消</a> <a href="{:U('Admin/Blog/del/id/'.$vo['a_id'])}" class="waves-effect waves-light btn red">肯定</a> </div> </div> </td> </tr> </volist>
這裏使用 模態框 讓用戶選擇肯定是否刪除。。。post
這個簡單的博客系統基本功能算是已經完善了,可是其中還有不少值得優化和修改的地方。。。好比有朋友建議的url優化等,在這裏表示感謝,後續會繼續優化,固然也會加入一些好玩的東西,其餘的一些功能基本也就是增刪改查,擴展起來應該不難。。。優化