织梦积分规则在哪里设置修改
积分规则后台位置
织梦DedeCMS的会员积分规则集中在后台会员模块中,并不在"系统基本参数"里,很多新手找不到原因就在于此。登录后台后,依次进入:
- 后台左侧菜单点击"会员"——"会员管理"——"积分产品分类";
- 切换到"会员级别设置"可调整不同等级对应积分阈值;
- 在"积分头衔设置"中配置积分对应的头衔名称。
若要修改注册、登录、投稿等行为赠送的积分数量,需要进入"系统"——"系统基本参数"——"会员设置"选项卡,找到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_member与dede_scores两张表,积分字段牵涉会员体系,误操作会导致等级混乱。后续优化方向
建议将积分规则配置项抽离到独立的数据表,开发一个可视化的规则管理面板,避免每次改规则都要改源码。同时为积分明细增加导出功能,方便运营核对数据,对会员活跃度做精细化分析。