帝国cms教程

帝国CMS二次开发扣除会员积分置顶,到期后取消置顶

我的站长站 2017-03-02 人阅读

帝国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-10where 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);}
}


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-10where 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为扣除的积分自行设置,还有可以该为自己需要的提示在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}]
<tr onmouseout="this.style.backgroundColor='#ffffff'" onmouseover="this.style.backgroundColor='#F1F5FC'">
<td><?=$bqr[myarea]?></td>
<td class="tx"><font color="red">[置顶]</font>
<a href="<?=$bqsr[titleurl]?>" title="<?=$bqr[title]?>" target="_blank"><?=$bqr[xiangxidizhi]?></a></td>
<td><?=$bqr[shi]?>室<?=$bqr[ting]?>厅</td>
<td><?=$bqr[size]?><span class="m">㎡</span></td>
<td><?=$bqr[money]?></td>
<td align="right"><?=date('Y-m-d',$bqr[newstime])?></td>
</tr>
[/e:loop]

//01.23日更新功能添加到期时间字段date到期之后置顶功能无效
上面的列表模板sql中添加 and (unix_timestamp(youxiaoqi)-UNIX_TIMESTAMP(NOW()))>0
模板大家自己修改,如有什么问题大家跟帖我会尽量解答 
上传以下图片:

帝国CMS二次开发扣除会员积分置顶,到期后取消置顶

相关推荐
  • 帝国cms二次开发
  • 网站会员
  • 帝国CMS调用方法
  • dedecms文章审核后给会员增加积分或者金币的办法

    dedecms一般都是在会员发表完之后就把积分加上去了,因此我们需要对这套系统进行修改,具体修改方法如下:第一步是在会员发表完文章之后不加积分,方法为:找到/member/article_add.php,找到//增加积分,将下面的代码注释掉。//增加积分 //$dsql->ExecuteNoneQue...

    织梦cms教程 149 5年前
  • 帝国CMS取消会员注册时候的邮箱必填

    帝国CMS会员注册的时候,邮箱是必填项,但有时候,我们希望注册时不需要填写邮箱,但帝国CMS并没有给这样一个可以关闭的设置项。通过本教程就可以实现取消邮箱必填。以帝国CMS7.2为例:打开 /e/member/class/member_registerfun.php 文件1、查找:if(!chemail($...

    帝国cms教程 145 5年前
  • 帝国CMS会员中心如何动态提示未读消息

    登陆帝国后台------模板------动态页面模板管理------头部模板在模型下面添加下面代码部分<?//模型$tgetmid=(int)$_GET[&#39;mid&#39;];if($tmgetuserid){$member=$empire->fetch1("select userpic from phome_enewsmemberadd where userid=&#39;$t...

    帝国cms教程 142 5年前
  • 帝国CMS调用栏目自定义字段方法

    帝国CMS调用栏目自定义字段方法说明:封面模板,列表模板,内容模板都可以用,且调用方式都是一样的调用标签:<?=ReturnClassAddField(0,&#39;自定义字段&#39;)?>调用多个:<?=$value=ReturnClassAddField(1,&#39;自定义字段1,自定义字段2&#39;)?>取值:<?=$val...

    帝国cms教程 157 4年前
  • 帝国CMS新手教程调用栏目别名

    帝国CMS调用网站标题灵动标签调用网站标题:<?=$public_r[sitename]?> 帝国CMS标签调用网站标题:[!--pagetitle--] 帝国CMS调用栏目别名: <?=$class_r[$GLOBALS[navclas

    帝国cms教程 275 11年前
  • 帝国CMS调用网站标题的方法

    帝国CMS_调用网站标题的方法方法1: [!--pagetitle--]方法2:<?=$public_r[sitename]?>

    帝国cms教程 379 11年前
最新更新