[1] Anzeige der Abteilungsliste
Analyse:
①控制器DeptController.class.php ②方法showList(不要使用list方法,因为list是关键词) ③模板文件:showList.html
Das Folgende wird Schritt für Schritt geschrieben
①Erstellen Sie die Methode showList um die Vorlage anzuzeigen
class DeptController extends Controller{ public function showList(){ $this->display(); } }
②Kopieren Sie die Vorlagendatei showList.html nach View/Dept (da der Controller Dept und die Methode showList ist, muss also eine Eins-zu-Eins-Entsprechung vorliegen)
③Ändern Sie den statischen Ressourcenpfad
④Ändern Sie die showList-Methode, um Abteilungsdaten abzurufen. Und an die Vorlage übergeben
public function showList(){ $model = M('dept');//模型实例化 $data = $model->order('sort asc')->select();//条件查询,升序排列 $this->assign('data',$data);//变量分配传递到模板 $this->display(); }
⑤Template durchläuft die gelesenen Daten
<table border="1" cellspacing="0"> <tr> <td>id</td><td>部门</td><td>所属部门</td><td>排序</td><td>备注</td><td>编辑数据</td><td>删除数据</td> </tr> <volist name='data' id='vol'> <tr> <td class="num">{$vol.id}</td> <td class="name">{$vol.name}</td> <td class="procress"> <if condition="$vol.pid == 0"> 顶级部门 <else/> 二级部门 </if> </td> <td class="node">{$vol.sort}</td> <td class="time">{$vol.remark}</td> <td><a href="javascript:;">编辑</a></td> <td><a href="javascript:;">删除</a></td> </tr> </volist></table>
注意:1. 模板的if判断,必须加空格
<if condition="$vol.pid == 0">顶级部门</if><br/>
2.<else />加/
[2] Abteilungsredakteur
Analyse:
Controller: DeptController.class.php
Methode: Bearbeiten (Vorlage anzeigen) Verarbeitungsübermittlung )
Vorlage: edit.html
Schreiben Sie den Code Schritt für Schritt
(1) Schreiben Sie die Bearbeitungsmethode, um die Vorlagenanzeige zu realisieren
public function edit(){ //展示模板 $this->display(); }
(2) Schaltfläche „Bearbeiten“ ändern, beim Springen zur Seite die ID mitbringen
<td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
(3) Kopieren Sie die Vorlagendatei edit.html an den angegebenen Speicherort, Admin/View/Dept/edit.html
; ändern Sie den statischen Ressourcenpfad
( 4) Ändern Sie die Bearbeitungsmethode, zeigen Sie die Originaldaten an
id:<input type="text" name="id" readonly="readonly" value="{$data.id}"><br/>部门:<input type="text" name="name" value="{$data.name}"><br/>所属部门:<select> <option value="0">顶级部门</option> <volist name="info" id="vol"> <option value="{$vol.id}">{$vol.name}</option> </volist></select><br/>排序:<input type="text" name="sort" value="{$data.sort}"><br/>备注:<input type="text" name="id" value="{$data.remark}"><br/>
(5) Verarbeiten Sie die Formularübermittlungsseite
Verstecktes Feld: Aufgrund von Systemeinschränkungen kann keine Stapeländerung durchgeführt werden, daher der Primärschlüssel muss beim Ändern angegeben werden. Daher muss ein verstecktes Feld hinzugefügt werden, um die ID
<form action="" method="post"> id:<input type="hidden" name="id" value="{$data.id}"><br/> <!-- 或者$Think.get.id --> 部门:<input type="text" name="name" value="{$data.name}"><br/> 所属部门: <select name="pid"> <option value="0">顶级部门</option> <volist name="info" id="vol"> <option value="{$vol.id}">{$vol.name}</option> </volist> </select><br/> 排序:<input type="text" name="sort" value="{$data.sort}"><br/> 备注:<input type="text" name="remark" value="{$data.remark}"><br/> <button>提交</button></form>
jquery-Übermittlung zu übergeben:
<script type="text/javascript"> $(document).ready(function(){ $('button').on('click',function(){ $('form').submit();//提交表单 }) })</script>
(6) Speichern von Daten, Ändern des Codes der Bearbeitungsmethode
public function edit(){//展示模板或者post请求 if (IS_POST){ $post = I('post.'); // dump($post);die; $model = M('dept'); //保存操作 $result = $model->save($post); if ($result !== false) { $this->success('修改成功',U('showList'),3); }else{ $this->error('修改失败'); } }else{ //接收id $id=I('get.id'); //实例化模型 $model = M('dept'); //查询指定记录 $data = $model->find($id); // 查询全部的部门信息(不包含当前级),同于下拉。因为包含自己所在级别会在递归时陷入死循环? $info = $model->where('id != '.$id)->select(); //变量分配 $this->assign('data',$data); $this->assign('info',$info); //展示模板 $this->display(); } }
[3] Abteilungslöschung
Analyse
Controller:DeptController.class.php
Methode: del
Vorlage: Zum Löschen ist keine Vorlagendatei erforderlich, da zum Löschen keine Vorlagedatei erforderlich ist ist ein Datenverarbeitungsprozess. Identisch mit Abmelden
Hinweis: Es gibt Einzellöschungen und Stapellöschungen. Die Bearbeitung kann nur einzeln erfolgen, nicht in Stapeln.
(1) Ändern Sie die Vorlage und fügen Sie das Kontrollkästchen hinzu
id | 部门 | 所属部门 | 排序 | 备注 | 编辑数据 | 删除 |
{$vol.id} | {$vol.name} |
|
{$vol.sort} | {$vol.remark} | <td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
(2) Klicken Sie auf die Schaltfläche „Löschen“, um zu löschen.
①Klicken Sie auf „Löschen“, um den Wert des Kontrollkästchens abzurufen ( jquery erreichen). Gehen Sie dann zur PHP-Löschmethode
<script type="text/javascript"> $(document).ready(function(){ $('.del').on('click',function(){ var id = ''; $.each($('input:checkbox:checked'),function(){ id += $(this).val()+','; }); // 去掉最后的,通过截取字符串获取 id = id.substring(0,id.length-1); //带着参数跳转到del方法 window.location.href = '__CONTROLLER__/del/id/'+id;//删除方法和展示方法的控制器是同级,所以用模板常量__CONTROLLER__ }) })</script>
②Schreiben Sie die Del-Methode, um das Löschen zu erreichen
// Echtes Löschen --- Stapel- und Einzellöschung
Alle Verwaltungsfunktionen.
Verwandte Referenzen:
Das obige ist der detaillierte Inhalt vonImplementierung von Abteilungsleitungsfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!