齐博x1第五季《项目实战-留言板》10-删除留言

2022-05-08 作者:torylf 分类:教程 阅读:1133

本节来给在后台的删除按钮添加上删除功能

即时演示地址:http://x1.alaiyeshi.net/msgboard





本来是准备在本节加上删除留言的功能,因为在第七节中,加了删除的按钮。

但是忘记了我们用的是系统的公共列表模板,并且实例化变量命名也是model名称,于是系统调用了自带的delete的方法,

已经具备的删除的功能。


这样就不需要我们自己再去编写删除留言的方法,就可以删除了


本节非主线教程,可以忽略,因为删除按钮已经实现。

我们主要来梳理下系统的删除方法使用条件,还有系统公共模板中删除方法的解析



使用系统自带的删除方法:

1:必须使用系统自带的公共模板列表,非自定义模板;

2:定义变量model来实例化数据模型;

3:   需要引入AddEditList文件;

4:顶部按钮或者右侧按钮使用type=delete,定义delete按钮,不要加href来做链接,否则就是触发自定义方法;


最后我们还要在admin_menu.php菜单中添加,删除菜单,并在后台设置权限,这样才可以正常使用

因为是同一个类下的方法,只需要在power中添加关联数组即可。


勾选好删除权限后,留言列表就可以删除留言了。不妨对着操作试一下。


下面我们来对系统的删除方法做个解析:

首先是右侧删除按钮:


右侧按钮是删除单条数据的,我们看下链接

 


他是带着数据id直接get方式传递到系统定义好的delete方法,进行删除。


我们打开AddEditList文件中的delete方法看下:


传递的ids参数到delete方法,delete调用deleteContent方法:


通过destroy方法删除了对应记录。我们这里可以试想一下,如果前面实例化变量命名不是model,那么这里不就无法调用了吗。

所以如果用系统公共列表模板,或者公共表单模板,都要和系统命名统一,否则继承过来的方法可能无法使用。


我们再看下顶部的删除按钮:


这里的按钮是为多选删除做准备的,

我们可以看下公共模板中的调用:

系统公共列表模板路径:\template\admin_style\default\admin\common\table.htm



点击这里的删除会触发delete_all的js方法:


首先就是循环获取下面选中的多选框,然后push追加到ids数组里,注意前面我们已经知道ids是delete方法的形参。


中间部分js特效提示方法我们忽略,我们往下面看:


获取ids参数后,通过ajax的post方法,向delete方法发送请求,这时我们又会回到deleteContent方法:



接收ids数组变量后,会判断数组类型,最后还是用destroy来删除数组中的对应id元素数据。


数据如果删除成功,便会循环删除表格中的留言记录,从而结束整个删除过程。




到此我们为其命名为留言板1.05版本,即msgboard 1.05







来源: 神盾工作室    转载请注明出处!

本文地址:https://shieldsoho.com/article/150.html

 标签: 模块开发 齐博X1
{{item.nickname}} @回复
发表于{{item.create_time}}

  • {{replyitem.nickname}} {{item.create_time}}
    @{{item.nickname}}

查看更多评论