迅睿框架 版主:迅睿框架研发组
想问一下关于会员等级组的问题因为迅睿自带的等级默认不带设置会
类型:迅睿CMS 更新时间:2020-06-10 11:44:31 会员 升级 后台

想问一下关于会员等级组的问题,因为迅睿自带的等级,默认不带设置会员组权重的问题,比如权重低的可以升级权重高的,权重高的无法升级到权重低的。


然后现在后台创建了,黄金会员,白金会员,钻石会员, 也就是说,一个比一个级别高,

然后会员开通了钻石会员,但是他还能继续购买白金会员是怎么回事了。


我后台开启了允许多用户组,

因为我会员组一共有,

注册类型的有【个人会员,企业会员,】

权益类型的有:【黄金会员,白金会员,钻石会员】

身份认证类型的有【供应商,导师】

也就是说个人/企业都是可以申请供应商,导师身份,然后他们也都是可以申请黄金/白金,钻石会员,


但是【黄金/白金/钻石】是不可以高级别到低级别升级的,请问下这个有办法解决吗



回帖
  • #1楼    迅睿框架创始人
    2020-06-09 08:13:38
    Chrome 0
    可以使用申请用户组之前的钩子,在钩子里面做判断高低级别的升级判断
  • 农民大伯
    #2楼    农民大伯
    2020-06-09 09:55:03
    Chrome 0
    一组判断就行,20块钱帮你写
  • 五金冲压件
    #3楼    五金冲压件
    2020-06-10 10:18:03
    Chrome 0
    写钩子吗,还是在模板中写判断啊农民大伯
  • 五金冲压件
    #4楼    五金冲压件
    2020-06-10 10:18:56
    Chrome 0
    增加悬赏(设置悬赏)金:20元,希望大家给予帮助!
  • 二开/定制/使用解答专家
    #5楼    二开/定制/使用解答专家
    2020-06-10 10:29:53
    Chrome 0
    【黄金/白金/钻石】是不可以高级别到低级别升级的怎么实现?我理解的是当用户申请了黄金,那么他再申请白金时,理论上会出现黄金+白金,那么现在就是把黄金删除,只保留白金吗?
  • 五金冲压件
    #6楼    五金冲压件
    2020-06-10 10:35:36
    Chrome 0

    因为我会员组一共有,

    注册类型的有【个人会员id1,企业会员id2,】

    权益类型的有:【黄金会员id3,白金会员id4,钻石会员id5,白金会员id6】

    身份认证类型的有【供应商id7,导师id8】

    就是可以同时拥有身份的就是,【个人会员id1,企业会员id2】+【黄金会员id3,白金会员id4,钻石会员id5,白金会员id6】+【供应商id7,导师id8

    然后,黄金会员id3,白金会员id4,钻石会员id5,白金会员id6】 这个是只可以低级别购买高级别,然后高级别 不可以在购买低级别的。

    如果说,已经购买高级别的,低级别的身份继续保留的话,他的权益是以高级别为准的话,就保留也无所谓,如果说权益有冲突,就去掉也可以,。


    二开/定制/使用解答专家

  • 天天向上
    #7楼    天天向上
    2020-06-10 10:38:51
    Chrome 0
    我理解的是1 当用户本身是黄金,那么他再申请白金时,理论上会出现黄金+白金,那么现在就是把黄金删除,只保留白金吗?2 当用户本身是砖石,那么他申请白金时,理论上是可以申请的,那么现在需要限制他不能申请是吗?3 当用户本身没有在 【黄金会员id3,白金会员id4,钻石会员id5,白金会员id6】时,可以申请任意一个
  • 五金冲压件
    #8楼    五金冲压件
    2020-06-10 10:41:55
    Chrome 0

    1 当用户本身是黄金,那么他再申请白金时,理论上会出现黄金+白金,那么现在就是把黄金删除,只保留白金吗?【也可以】

    2 当用户本身是砖石,那么他申请白金时,理论上是可以申请的,那么现在需要限制他不能申请是吗?【是的,要限制高级别无法申请低级别】

    3 当用户本身没有在 【黄金会员id3,白金会员id4,钻石会员id5,白金会员id6】时,可以申请任意一个,【是的】天天向上

  • 王小五
    #9楼    王小五
    2020-06-10 10:50:54
    Chrome 0
    B级会员已开通,关闭A级会员按钮,升级到C级会员关闭AB级会员按钮
  • 五金冲压件
    #10楼    五金冲压件
    2020-06-10 10:51:43
    Chrome 0
    能搞吗。王小五
  • 天天向上
    #11楼    天天向上
    2020-06-10 10:55:28
    Chrome 0
    那我就按这个思路写代码了???五金冲压件
  • 五金冲压件
    #12楼    五金冲压件
    2020-06-10 10:55:55
    Chrome 0
    可以啊。是钩子吗天天向上
  • 王小五
    #13楼    王小五
    2020-06-10 10:57:51
    Chrome 0
    不会啊! 五金冲压件
  • 五金冲压件
    #14楼    五金冲压件
    2020-06-10 10:59:23
    Chrome 0
    你也在等着答案啊、王小五
  • 天天向上
    #15楼    天天向上
    2020-06-10 11:09:09
    Chrome 0
    config/hooks.php
    // 申请用户组之前判断
    \Phpcmf\Hooks::on('member_apply_group_before', function($data) {
        if (in_array($data['gid'], [3,4,5,6])) {
    
            $yl = \Phpcmf\Service::M()->table('member_group_index')->where('uid', $data['uid'])->where('gid in(3,4,5,6)')->order_by('gid desc')->getRow();
            if ($yl && $yl['gid'] > $data['gid']) {
                \Phpcmf\Service::C()->_json(0, '你不能申请比你当前级别更低的用户组');
            }
    
        }
    });
    
    // 申请用户组后处理多余的组
    \Phpcmf\Hooks::on('member_edit_group_after', function($data) {
    
        \Phpcmf\Service::M()->db->table('member_group_index')->where('uid', $data['uid'])->where('gid in(3,4,5,6) and gid<>'.$data['group_gid'])->delete();
        
    });
  • 五金冲压件
    #16楼    五金冲压件
    2020-06-10 11:13:04
    Chrome 0
    好,我试试。他只是会判断【id3-4-5-6】不会重叠身份,但是我的1-2-7-8 还是可以继承官方的重叠身份的把天天向上
  • 五金冲压件
    #17楼    五金冲压件
    2020-06-10 11:14:58
    Chrome 0

    image
    大哥 ,这个提醒代码 直接弹出来这样子的,怎么搞成带样式的五金冲压件
  • 二开/定制/使用解答专家
    #18楼    二开/定制/使用解答专家
    2020-06-10 11:19:36
    Chrome 0
    他这样写的话,3-4-5-6之会出现一个
    \Phpcmf\Service::C()->_admin_msg(0, '你不能申请比你当前级别更低的用户组');
    改下提示方式
  • 王小五
    #19楼    王小五
    2020-06-10 11:20:39
    Chrome 0
    五金冲压件 应该把低级的申请开通隐藏最好!
  • 五金冲压件
    #20楼    五金冲压件
    2020-06-10 11:21:53
    Chrome 0
    但是换了你这个提示方式,他会出来一个 返回上一页,然后返回不了。
    image
    能否是这种方式呢二开/定制/使用解答专家
  • 天天向上
    #21楼    天天向上
    2020-06-10 11:42:50
    Chrome 0
    // 申请用户组之前判断
    \Phpcmf\Hooks::on('member_apply_group_before', function($data) {
        if (in_array($data['gid'], [3,4,5,6])) {
    
            $yl = \Phpcmf\Service::M()->table('member_group_index')->where('uid', $data['uid'])->where('gid in(3,4,5,6)')->order_by('gid desc')->getRow();
            if ($yl && $yl['gid'] > $data['gid']) {
                \Phpcmf\Service::C()->_msg(0, '你不能申请比你当前级别更低的用户组');
            }
    
        }
    });
    
    // 申请用户组后处理多余的组
    \Phpcmf\Hooks::on('member_edit_group_after', function($data) {
    
        \Phpcmf\Service::M()->db->table('member_group_index')->where('uid', $data['uid'])->where('gid in(3,4,5,6) and gid<>'.$data['group_gid'])->delete();
        
    });
    满意答案
  • 五金冲压件
    #22楼    五金冲压件
    2020-06-10 11:44:31
    Chrome 0
    @天天向上:感谢大神的无私奉献