一:在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_arr = explode('|', $jilu_all);

foreach ($jilu_arr as $k => $v) {

$jilu_idin.= (int)$v . ',';

}

$jilu_idin = substr($jilu_idin, 0, -1); //1,2,3

$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 '<li><a href="' . $titleurl . '">' . $jilu_r['title'] . '</a></li>'; //此处是修改样式需要图片自己加

}

} else {

echo '暂时浏览记录!';

}

}

//--------------------结束------------------

二:在内容页模版最上面加:

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

三:在要显示的地方加一句:

<?=user_GetCook('cookiepro','shop',10);//名称 数据表名 数量 ?>

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:312334557@qq.com 我们将配合处理!

原文地址:《帝国CMS实现历史记录(产品浏览记录)》发布于2021-05-31 15:49:40

相关推荐