我们在网站的会员中心前端想要显示会员等级信息的时候,发现前端是显示不了的。
他只能显示: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'); }
这样就可以了。这样他就会按等级编号从小到大排序了。
上一篇:评论功能需要关闭防火墙中的看门狗
下一篇:没有了!