如何设置DEDECMS会员投稿审核后自动赠送积分?
- 行业动态
- 2024-10-15
- 2786
在DEDECMS中,会员投稿审核后送积分可以通过编写自定义函数和触发器实现。具体步骤如下:,,1. 打开 /dede/member/目录下的 article_add.php文件,找到以下代码:,,“ php,if($dopost == 'article') {, if($reid) {, $updateSql = "UPDATE #@__archives SET click =click +1 WHERE id='$aid'";, ..., } else {, $insertSql = "INSERT INTO #@__archives ...";, ..., },},` ,,2. 在if($dopost == ‘article’) 代码块中,添加以下代码:,,` php,// 获取当前会员信息,$memberDiy = $dsql>GetOne("SELECT mid,exp FROM #@__member WHERE username='$cuserLogin'");,$mid = $memberDiy['mid'];,$exp = $memberDiy['exp'];,,// 更新会员经验值,$upmember = $dsql>ExecuteNoneQuery("UPDATE #@__member SET exp=exp+10 WHERE mid='$mid'");,“,,3. 保存并关闭文件。,,这样,当会员投稿审核通过后,系统会自动给该会员增加10点经验值。你可以根据需要调整经验值的数量。
在DEDECMS中,会员投稿审核后送积分的设置是一个常见的需求,默认情况下,会员在发表完文章后系统会自动增加积分,这可能会导致一些不良后果,如灌水行为等,需要对系统进行修改,以确保只有在管理员审核通过文章后,会员才能获得相应的积分。
具体步骤如下:
1、取消会员发表完文章后自动加积分
找到文件:/member/article_add.php
注释掉或删除代码://增加积分
//$dsql>ExecuteNoneQuery("Updatedede_member set scores=scores+{$cfg_sendarc_scores} where mid='".$cfg_ml>M_ID."' ; ");
2、在后台审核文章通过后增加积分
找到文件:/dede/archives_do.php
找到函数:function checkArchives()
添加代码:在$aid = $row[‘id’];下面添加
//审核后增加积分 $dsql>ExecuteNoneQuery("UPDATExc_member set scores=scores+{$cfg_sendarc_scores} WHERE mid=(SELECT mid FROMjs_arctiny where id='$aid')");
其他频道模型的处理
对于图片或者软件模型等其他频道模型,可以按照同样的方法进行处理,只需找到对应的审核文件和字段即可。
FAQs
1、为什么需要修改DEDECMS默认的积分设置?
答案:DEDECMS默认是在会员发表完文章后立即增加积分,这可能会导致一些不良行为,如灌水,通过修改成审核后加积分,可以有效控制这种情况,确保只有高质量的内容才会被奖励积分。
2、如何确保修改后的设置生效?
答案:确保修改后的代码已经正确上传到服务器并替换了原有的文件,可以通过测试一个新用户的投稿和审核流程来验证设置是否生效,如果一切正常,审核通过后会员应该能获得相应的积分。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/126675.html