我们在网站的会员中心前端想要显示会员等级信息的时候,发现前端是显示不了的。

他只能显示:gcode和gname.
这是什么原因呢?
我们只需要打开:apps\home\model中打开:MemberModel.php
我们看到有这样一段代码:

这就是表示在会员中心可以读取会员分组中的gcode和gname
所以接下来就简单了,我们只需要把想要展示的会员分组中的字段添加进来就可以了。
比如说原来就有的描述字段。'b.description',
然后我们想给会员分组添加一个图标,比如就叫gico
所以修改后的代码就是:

一共添加了两行:
'b.description', 'b.gico'
在下面获取会员信息处也添加上:

这样前端的会员中心就可以读取这两个字段了。

现在我们需要修改后端文件,让这个gico实现可以上传图标的功能。
打开后端的HTML文件。
在等级名称下面添加一个:共两处,新增会员等级和修改等级两处都需要添加。
<div class="layui-form-item">
<label class="layui-form-label">等级图标</label>
<div class="layui-input-inline">
<input type="text" name="gico" id="gico" value="{$group->gico}" placeholder="请上传缩略图" class="layui-input">
</div>
<button type="button" class="layui-btn upload watermark" data-des="gico">
<i class="layui-icon"></i>上传图片
</button>
<a class="layui-btn layui-btn-warm" onclick="GetPictureFolder(1,'gico');"><i class="layui-icon layui-icon-picture"></i>图库</a>
<div id="ico_box" class="pic addedit">{if([$group->gico])}<dl><dt><img lay-src="{SITE_DIR}{$group->gico}" data-url="{$group->gico}"></dt><dd>删除</dd></dl>{/if}</div>
</div>
添加完成之后,我们发现修改或者新增的时候无法写入数据。因为没有添加gico到PHP中让他写入数据库。
所以需要打开后端文件:\apps\admin\controller\member中的:MemberGroupController.php
// 会员等级增加
public function add()
{
if ($_POST) {
// 获取数据
$gcode = post('gcode', 'int') ?: get_auto_code($this->model->getLastGid(), 1);
$gname = post('gname');
$gico = post('gico'); //新增上传图标
$description = post('description');同样在修改操作处:
// 修改操作
if ($_POST) {
// 获取数据
$gcode = post('gcode', 'int') ?: get_auto_code($this->model->getLastGid(), 1);
$gname = post('gname');
$gico = post('gico'); //新增上传图标
$description = post('description');修改完成之后就可以在后台正常上传图标并保存数据了。

但是我们又发现一个问题。
后台会员等级的排序是有点问题的。当等级大于10的时候,他的10以上的等级会排在1后台,2前面。像是按这个数字排序的。

所以我们需要修改成按等级排序会比较好看一些。于是我们只需要修改:\apps\admin\controller\member\MemberGroupController.php中添加一段代码
// 会员等级列表
public function index()
{
if ((! ! $id = get('id', 'int')) && $result = $this->model->getGroup($id)) {
$this->assign('more', true);
$this->assign('group', $result);
} else {
$this->assign('list', true);
if (! ! ($field = get('field', 'var')) && ! ! ($keyword = get('keyword', 'vars'))) {
$result = $this->model->findGroup($field, $keyword);
} else {
$result = $this->model->getList();
}
// 新增按ID升序排序
if (is_array($result)) {
usort($result, function($a, $b) {
return $a->id <=> $b->id; // 升序排列
// return $b->id <=> $a->id; // 如果想倒序排列就改成这一行
});
}
// 新增按ID升序排序结束
$this->assign('groups', $result);
}
$this->display('member/group.html');
}这样就可以了。这样他就会按等级编号从小到大排序了。

上一篇:评论功能需要关闭防火墙中的看门狗
下一篇:JQ写了一个二级联动筛选功能