织梦积分规则在哪里设置修改

积分规则后台位置

织梦DedeCMS的会员积分规则集中在后台会员模块中,并不在"系统基本参数"里,很多新手找不到原因就在于此。登录后台后,依次进入:

  1. 后台左侧菜单点击"会员"——"会员管理"——"积分产品分类";
  2. 切换到"会员级别设置"可调整不同等级对应积分阈值;
  3. 在"积分头衔设置"中配置积分对应的头衔名称。

若要修改注册、登录、投稿等行为赠送的积分数量,需要进入"系统"——"系统基本参数"——"会员设置"选项卡,找到cfg_sendarc_scores(投稿积分)、cfg_sendfb_scores(评论积分)、cfg_userad_reg等参数。

数据库字段说明

会员积分主表

积分记录保存在dede_member表的scores字段中,类型为int(11)。每次积分变动都会同步写入dede_member_tj统计表和dede_scores明细表。

-- 查询某会员当前积分
SELECT mid,uname,scores FROM dede_member WHERE mid=1;

-- 手动修正积分
UPDATE dede_member SET scores=1000 WHERE mid=1;

积分明细表结构

dede_scores表记录每一笔积分变动,关键字段:id、title(变动说明)、integral(积分值)、mid(会员ID)。通过该表可以追溯积分来源,排查异常增减。

修改积分规则代码位置

如果后台参数无法满足需求(例如按文章字数赠送积分),需要修改源码:

1. 投稿积分发放

打开/member/archives_add.php/member/archives_edit.php,搜索JoinMemberScore函数调用:

JoinMemberScore($cfg_sendarc_scores, '投稿积分', $mid);

可在此处加入自定义逻辑,例如按字数计算:

$bodyLen=strlen($body);
$addScore=intval($bodyLen/500) * 10;
JoinMemberScore($addScore, '投稿字数积分', $mid);

2. 评论积分发放

位置在/plus/feedback.php,查找JoinMemberScore($cfg_sendfb_scores这一行,同理可调整。

常见问题排查

积分发放不生效

多数情况是cfg_mlview会员中心缓存未刷新,或会员登录态过期。可在后台"系统"——"系统基本参数"——"核心设置"中清理缓存,或让会员重新登录。

积分为负数

检查dede_scores表中是否有负值记录,常见于下载扣除积分功能。在/plus/download.php中可设置$dsql->ExecuteNoneQuery的扣分逻辑。

修改数据库前务必备份dede_memberdede_scores两张表,积分字段牵涉会员体系,误操作会导致等级混乱。

后续优化方向

建议将积分规则配置项抽离到独立的数据表,开发一个可视化的规则管理面板,避免每次改规则都要改源码。同时为积分明细增加导出功能,方便运营核对数据,对会员活跃度做精细化分析。