当前位置: 首页 > PbootCMS教程 > Pbootcms后台留言表单管理增强升级

Pbootcms后台留言表单管理增强升级

365源码商城 / 2022-01-12
[] [] []

在先前的文章里面纪实阁曾经介绍过关于如何将Pbootcms的自定义表单后台显示样式修改得更加显示完整;如果没有关注到的可以参考一一下:

一直觉得后台表单展示这块不够完善,今天来介绍一下如何将pbootcms后台的留言界面也修改,并完排时间做了调整。

目前已完善内容(留言和表单) :

1、支持选择类别搜索,方便搜索提交数据

2、更换展现方式为列表,更佳清晰明了

3、列表默认展示字段通过自己控制

4、新增批量删除表单数据功能

 

31.png

 

 

演示效果如上

第一步:修改message.html样式文件

打开ppsdmin iewdefaultcontentmessages.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>&nbsp;
{/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文件,此处文件修改地方有点多;

32.png

如果手工修改可以根据上图中的标记进行修改,若不会可以直接下载文件替换原文件即可;

MessageModel.php文件下载

第四步:修改数据库增加view_status字段文件 33.png

`view_status` int(1) NOT NULL DEFAULT '2',

本文链接:http://www.365ymw.com/article-1735.html 转载请保留出处,谢谢!

中查找“Pbootcms后台留言表单管理增强升级”更多相关内容

用户评论

暂时还没有任何用户评论
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha

浏览历史

免责条款 | 隐私保护 | 联系我们 | 公司简介 | 报价单 | 积分商城 | 留言板
Copyright © 2010-2022 365ymw.com All Rights Reserved. 365源码商城 流量统计:
免责声明:部分图片素材及板块内容来自网络,如有侵犯您的权益,请联系我们,站长会立即处理!