咱們回到控制器下,修改下editpost
public function edit(){ $id = I('id'); $mod = D('cate'); $vos = $mod -> find($id); $this -> assign('vos',$vos); $this -> display(); }
而後咱們到模版中,現將他的名字顯示出來:測試
而後測試看看效果如何:ui
測試成功,可是上級欄目還沒好,因此咱們須要回到控制器中用模版裏面的方法來取出全部的數據:this
public function edit(){ $id = I('id'); $mod = D('cate'); $vos = $mod -> find($id); $this -> assign('vos',$vos); $data = $mod -> cateTree(); $this -> assign('data',$data); $this -> display(); }
而後在來到模版中:spa
<table class="insert-tab" width="100%"> <tbody> <tr> <th><i class="require-red">*</i>欄目名稱:</th> <td> <input class="common-text required" id="title" name="catename" size="50" value="{$vos.catename}" type="text"> </td> </tr> <tr> <th><i class="require-red">*</i>上級欄目:</th> <td> <select name="pid"> <option value="0">頂級分類</option> <volist name="data" id="vo"> <option <if condition="($vos['pid'] eq $vo['id'])"> selected='seleted' </if> value="{$vo['id']}"> {$vo['level']|str_repeat="▲ ",###} {$vo['catename']} </option> </volist> </select> <input type="hidden" name="id" value="{$vos['id']}"> </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>
而後咱們來測試看看:3d
這一步沒問題了,下一步就回到控制器寫 edit 的方法了,由於數據要post 過來處理:code
public function edit(){ $id = I('id'); $mod = D('cate'); if(IS_POST){ $datas['id'] = I('id'); $datas['catename'] = I('catename'); $datas['pid'] = I('pid'); if($mod -> create($datas)){ if($mod->save($datas) !== false){ //!==false 這樣主要是爲了防止用戶什麼都沒改就提交 $this -> success('修改欄目成功'); }else{ $this -> error('修改欄目失敗'); } }else{ $this -> error($mod -> getError()); } return; } $vos = $mod -> find($id); $this -> assign('vos',$vos); $data = $mod -> cateTree(); $this -> assign('data',$data); $this -> display(); }
效果絕對給力。。。blog