在先前的文章里面纪实阁曾经介绍过关于如何将Pbootcms的自定义表单后台显示样式修改得更加显示完整;如果没有关注到的可以参考一一下:
一直觉得后台表单展示这块不够完善,今天来介绍一下如何将pbootcms后台的留言界面也修改,并完排时间做了调整。
目前已完善内容(留言和表单) :
1、支持选择类别搜索,方便搜索提交数据
2、更换展现方式为列表,更佳清晰明了
3、列表默认展示字段通过自己控制
4、新增批量删除表单数据功能
演示效果如上
第一步:修改message.html样式文件
打开ppsdminiewdefaultcontentmessages.html文件,找到其中的第10-72行;即:
<div class="layui-tab-item layui-show">……</div>
在以上代码中间的部分,使用下述代码替换:
<div class="layui-tab-item layui-show"> <!-- 搜索--> <form action="{url./admin/Message/index}" method="get" class="layui-form"> <div class="layui-form-item nospace"> <div class="layui-input-inline"> {$pathinfo} {php}$type = get('type');{/php} <select name="type"> <option value="">全部字段</option> {foreach $fields(key2,value2,num2)} <option value="[value2->name]" {if($value2->name==$type)}selected="selected"{/if}>[value2->description]</option> {/foreach} </select> </div> <div class="layui-input-inline"> <input type="text" name="keyword" value="{$get.keyword}" placeholder="请输入搜索关键字" class="layui-input"> </div> <div class="layui-input-inline" style="width: 130px;"> {php}$view_status = get('view_status');{/php} <select name="view_status"> <option value="">选择审核状态</option> <option value="1" {if(1==$view_status)}selected="selected"{/if}>已审核</option> <option value="2" {if(2==$view_status)}selected="selected"{/if}>未审核</option> </select> </div> <div class="layui-input-inline"> <button class="layui-btn" lay-submit onclick="submit();">搜索</button> <a class="layui-btn layui-btn-primary" href="{url./admin/Message/index}">清除搜索</a> </div> </div> </form> <!-- 列表显示 --> <form action="{url./admin/Message/del}" method="post" id="contentForm" name="contentForm" class="layui-form" onkeydown="if(event.keyCode==13) return false;"> <input type="hidden" name="formcheck" value="{$formcheck}" > <table class="layui-table"> <thead> <tr> <th width="10"><input type="checkbox" class="checkbox" lay-ignore id="checkall" title="全选"></th> <th width="30">序号</th> {foreach $fields(key2,value2,num2)} {if($value2->is_list)} <th>[value2->description]</th> {/if} {/foreach} {foreach $fields(key2,value2,num2)} <th>[value2->description]</th> {/foreach} <th width="150">时间</th> <th width="150">操作</th> </tr> </thead> <tbody> {foreach $messages(key,value,num)} <tr> <td><input type="checkbox" class="checkbox checkitem" lay-ignore name="list[]" value="[value->id]" id="checka"></td> <td>{php}echo $numdesc = [$pagerows]-$num+1;{/php}</td> {foreach $fields(key2,value2,num2)} <td>{php} $field=$value2->name {/php}[value->$field]</td> {/foreach} {foreach $fields(key2,value2,num2)} {php} $field=$value2->name;{/php} {if($value2->is_list)} {if(preg_match('/(.(jpg|gif|png|bmp|jpeg|ico|webp))$/i', $value->$field) || strpos($value->$field,'qlogo'))} <td><a href='[value->$field]' target='_blank'><img src='[value->$field]' width='30' height='30' style='float: unset;cursor: pointer;' /></a></td> {/if} {if(preg_match('/(.(zip|gz|rar|iso|doc|xsl|ppt|wps|docx|xslx|pdf))$/i', $value->$field))} {php}$arr=explode("/", $value->$field);$last=$arr[count($arr)-1];{/php} <td><a href='[value->$field]' target='_blank'>{php}echo $last;{/php}</a></td> {/if} {if(!preg_match('/(.(jpg|gif|png|bmp|jpeg|ico|webp|zip|gz|rar|iso|doc|xsl|ppt|wps|docx|xslx|pdf))$/i', $value->$field) && !strpos($value->$field,'qlogo'))} <td>[value->$field]</td> {/if} {/if} {/foreach} <td>[value->create_time]</td> <td> {if(check_level('mod'))} {fun=get_btn_mod($value->id,'id','详情')} {/if} {fun=get_btn_del($value->id)} </td> </tr> {/foreach} </tbody> </table> <div class="layui-btn-group"> {if([$messages])} <a href="{url./admin/Message/index/export/1}" class="layui-btn layui-btn-sm">导出全部记录</a> {/if} <button type="submit" name="submit" onclick="return setDelAction();" class="layui-btn layui-btn-sm layui-btn-danger">批量删除</button> {if(session('ucode')==10001 && [$messages])} <a href="{url./admin/Message/clear}" onclick='return confirm("您确定要全部清空么?")' class="layui-btn layui-btn-sm layui-btn-danger">清空全部记录</a> {/if} </div> <div class="page">{$pagebar}</div> </form> </div>
或者直接下载此文件替换:Messages.html文件下载
第二步:在MessageController留言控制器中添加定义
打开目录下的ppsdmincontrollercontentMessageController.php,找到其中第24-40行处添加以下代码:
// 留言未读数量 @mk-message_online public function online() { $messages_num = $this->model->getMessageOnline(); // 输出数据 json(1, $messages_num); } // 列表 public function index() { $this->assign('list', true); $this->assign('fields', $this->model->getFormFieldByCode(1)); // 获取字段 // @mk-form_list if (get('keyword')) { if ($type = get('type')) { $result = $this->model->findMessage(true, get('type'), get('keyword'), get('view_status')); } else { $fields = $this->model->getFormFieldByCode(1); foreach ($fields as $key => $value) { $typeall = $value->name.','.$typeall; } $typeall = substr($typeall, 0, strlen($typeall)-1); $result = $this->model->findMessageAll(true, $typeall, get('keyword'), get('view_status')); } $this->assign('messages', $result); $this->display('content/message.html'); } elseif (get('export')) { $this->assign('messages', $this->model->getList(false)); header("Content-Type:application/vnd.ms-excel"); header('Cache-Control: max-age=0'); header("Content-Disposition:filename=留言记录-" . date("YmdHis") . ".xls"); $this->display('content/exmessage.html'); } else { $this->assign('messages', $this->model->getList(true,get('view_status'))); $this->display('content/message.html'); } }
第三步:修改MessageModel.php 文件
在ppsdminmodelcontent中找到MessageModel.php文件,此处文件修改地方有点多;
如果手工修改可以根据上图中的标记进行修改,若不会可以直接下载文件替换原文件即可;
第四步:修改数据库增加view_status字段文件
`view_status` int(1) NOT NULL DEFAULT '2',
Pbootcms问题解决
请点击在线联系我们【点击咨询解决问题】 如果您有任何Pbootcms问题,我们将免费为您写解决教程!