今天在修改一个网站的时候,发现原来的数据库中内链数量太多了,以至于要删除就得一个一个删除,我一共35条内链,就删了35次之多。累人。为什么不搞一个批量删除呢。
下面我们自己来动手进行修改:
弟一步:打开模板文件:tags.html
在第十行左右的
<table class="layui-table">
上面增加以下代码
<form action="{url./admin/Tags/del}" method="post" id="contentForm" name="contentForm" class="layui-form" onkeydown="if(event.keyCode==13) return false;"> <input type="hidden" name="formcheck" value="{$formcheck}" >
在
<th>序号</th>
上面添加:
<th width="10"><input type="checkbox" class="checkbox" lay-ignore id="checkall" title="全选"></th>
在
{foreach $tags(key,value)} <tr>
下面添加:
<td><input type="checkbox" class="checkbox checkitem" lay-ignore name="list[]" value="[value->id]" id="checka"></td>
然后在这个table结束的地方增加以下代码
<div class="layui-btn-group"> <button type="submit" name="submit" onclick="return setDelAction();" class="layui-btn layui-btn-sm">批量删除</button> {if([$messages])} {/if} </div> </form> <script> function setDelAction(){ document.contentForm.action = "{url./admin/Tags/del}"; return confirm("您确定要删除选中的内容么?"); } </script>
第二步:打开控制器,找到:TagsController.php
找到文章删除的函数:
// 文章内链删除 public function del()
然后在函数里面添加以下代码
// 执行批量删除 if ($_POST) { if (! ! $list = post('list')) { if ($this->model->delTagsList($list)) { $this->log('批量删除留言成功!'); success('批量删除成功!', - 1); } else { $this->log('批量删除留言失败!'); error('批量删除失败!', - 1); } } else { alert_back('请选择要删除的内容!'); } }
第三步:找到模型中的:TagsModel.php
在55行左右的删除文章内链函数结束添加以下函数
// 批量删除 public function delTagsList($ids) { return parent::table('ay_tags')->where("acode='" . session('acode') . "'") ->delete($ids); }
至此,功能制作完成。