asp老师 发表于 2015-1-12 22:00:25

Discuz x2.5 积分策略添加实践

近日,要完成一个discuz x的二次开发项目,项目中的一个要求是:会员注册完成后,填写推荐人即赠送积分。推荐人字段很好办,启用系统预留的字段即可。但填写推荐人送积分则是新加的积分规则,系统原本没有此规则。

      在参考了网上的一些文章和discuzx开发手册,开始操作:
      1、在数据库表pre_common_credit_rule增加一条记录,rulename填“填写推荐人”,action填“txtjr”(跟下面一步对应),相关的积分设置你自己设定,或者添加新记录后在后台设定。这样积分规则算是添加了,接下来解决如果实现给予积分;
      2、因为填写推荐人的表单在home.php?mod=spacecp页面,计划在此页面的处理程序里面添加给予积分的动作。查相关手册知道了处理程序位于source\include\spacecp文件夹下的spacecp_profile.php文件里
         在此文件里查找“C::t('common_member_profile')->update($_G['uid'], $setarr); ”,然后在后面添加“ updatecreditbyaction('txtjr');”,OK

      当然其中的一些数据处理,逻辑判断那些(比如推荐人用户名是否存在、是否填写了推荐人等)得根据实际情况处理,我尽量将添加积分策略的步骤简化,只说明下添加的步骤,具体的大家自由发挥。
页: [1]
查看完整版本: Discuz x2.5 积分策略添加实践