帝国CMS二次开发产品或文章浏览记录函数 - 帝国cms教程

时间:2023-08-08 16:32 浏览:0 评论:0
0

方法步骤:

一:在e/class/userfun.PHP中加入以下代码:

function user_SetCook($name,$id,$time=0,$num=10){//cookie名称 ID 时间戳 数量

if(!$id){

printerror2('不存在的产品记录',$_SERVER['HTTP_REFERER']);

}

$prodq=$id.'|';

$projilu=getcvar($name);

if($projilu){

$prozuhe=$prodq.$projilu;//把新浏览的放在第一

$pro_arr=explode('|',$prozuhe);

$new_arr=array_merge(array_unique($pro_arr));//去除重复,重新索引下标        

foreach($new_arr as $key=>$val){

if(($key<$num) && $val){

$pro.=$val.'|';

}

}

}else{

$pro=$prodq;

}

esetcookie($name,$pro,$time);

//esetcookie($name,'',0);

//print_r($_COOKIE);

}

function user_GetCook($name,$tbname,$num=10){ //名称 数据表 数量

global $empire,$dbtbpre;

if(preg_match("/^[0-9|]+$/",getcvar($name))){

$jilu_all=substr(getcvar($name),0,-1); //1|2|3

$jilu_idin=str_replace('|',',',$jilu_all);//1,2,3

}else{

$jilu_idin=0;//避免sql错误没有返回0

}

$sql=$empire->query("select id,title,titlepic,titleurl from {$dbtbpre}eCMS_{$tbname} where id in ({$jilu_idin}) order by find_in_set(id,'{$jilu_idin}') limit {$num}"); //按id in 里面的排序

while($jilu_r=$empire->fetch($sql))

{

$titleurl=sys_ReturnBqTitleLink($jilu_r);

echo '

  • '.$jilu_r[title].'
  • ';//此处是修改样式需要图片自己加

    }

    }

    二:在内容模版最上面加入以下代码:

    user_SetCook('cookiepro',$navinfor[id],0,10);//cookie名称可以自己定别重复 ID 时间戳 数量

    ?>

    三:在需要显示的地方加入以下代码:

    //名称 数据表名 数量

    1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
    2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
    3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
    4. 帝国CMS > 帝国CMS二次开发产品或文章浏览记录函数 - 帝国cms教程

    用户评论