### [帝国CMS扣除会员积分置顶与到期后取消置顶的方法](https://www.prosaas.cn/article/5138) **Published:** 2019-11-27T05:40:07 **Author:** 5201314 **Excerpt:** 本文实例讲述了帝国CMS扣除会员积分置顶修改方法。分享给大家供大家参考。具体实现方法如下:1、在所需的系统模型… ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212123647821.gif) 本文实例讲述了帝国CMS扣除会员积分置顶修改方法。分享给大家供大家参考。具体实现方法如下: 1、在所需的系统模型中添加int字段 top  单选按钮0,1(0为否,1为是) 2、修改e/class/qinfofun.php 在文件中找到 esetcookie("lastaddinfotime",time(),time()+3600\*24); 一直到 //-------------    全部替换为: 代码如下: //置顶扣分 $t=$empire->fetch1("select top from {$dbtbpre}ecms\_".$tbname." where userid='$muserid' and id='$id' and classid='$classid' limit 1"); if($t\[top\]) { $w=$empire->fetch1("select userfen from {$dbtbpre}enewsmember where userid='$muserid'"); if($w\[userfen\]>=10) { $sql3=$empire->query("update {$dbtbpre}enewsmember set userfen=userfen-10 where userid='$muserid'"); printerror("AddQinfoSuccess",$reurl,1); } else { $sql4=$empire->query("update {$dbtbpre}ecms\_".$tbname." set top=0 where userid='$muserid' and id='$id' and classid='$classid' limit 1"); printerror("jifenbugou",$reurl,1); } } else{printerror("AddQinfoSuccess",$reurl,1);} } else {printerror("DbError","history.go(-1)",1);} } 推荐学习《帝国cms教程》 3、修改e/class/qinfofun.php 在文件中找到 代码如下: if($sql) { $reurl=DoingReturnUrl("ListInfo.php?mid=$mid",$add\['ecmsfrom'\]); if($add\['editgotoinfourl'\]&&$infor\['checked'\])//返回内容页 { if($cr\['showdt'\]==1) { $reurl=$public\_r\[newsurl\]."e/action/ShowInfo/?classid=$classid&id=$id"; } elseif($cr\['showdt'\]==2) { $reurl=$public\_r\[newsurl\]."e/action/ShowInfo.php?classid=$classid&id=$id"; } else { $reurl=$titleurl; } } 到 //--------------- 替换为: 代码如下: //置顶扣分 $t=$empire->fetch1("select top from {$dbtbpre}ecms\_".$tbname." where userid='$muserid' and id='$id' and classid='$classid' limit 1"); if($t\[top\]) { $w=$empire->fetch1("select userfen from {$dbtbpre}enewsmember where userid='$muserid'"); if($w\[userfen\]>=10) { $sql3=$empire->query("update {$dbtbpre}enewsmember set userfen=userfen-10 where userid='$muserid'"); printerror("EditQinfoSuccess",$reurl,1); } else { $sql4=$empire->query("update {$dbtbpre}ecms\_".$tbname." set top=0 where userid='$muserid' and id='$id' and classid='$classid' limit 1"); printerror("jifenbugou",$reurl,1);

} } else{printerror("EditQinfoSuccess",$reurl,1);} } else {printerror("DbError","history.go(-1)",1);} } 注意部分的10为扣除的积分自行设置,还有jifenbuzhu自己可以该为自己需要的提示在e/data/language/gb/pub/q\_message.php中添加(gb2312版) 又添加这个字段主要是避免与老大的那个firsttitle起冲突,避免以后升级带来的麻烦 假如会员积分不足提示积分不足但信息仍让可以提交只是不能置顶。 在列表模板中调用方法: 代码如下: \[e:loop={"select \* from phome\_ecms\_house where top=1 and checked=1 and classid='$GLOBALS\[navclassid\]' limit 3",3,24,0}\] \[置顶\] 室厅 ㎡ \[/e:loop\] 01.23日更新功能添加到期时间字段date到期之后置顶功能无效. 上面的列表模板sql中添加 代码如下: and (unix\_timestamp(youxiaoqi)-UNIX\_TIMESTAMP(NOW()))>0 模板大家自己修改,相信不难解决。 以上就是帝国CMS扣除会员积分置顶与到期后取消置顶的方法的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** 帝国CMS ---