ecshop 怎样显示商品浏览历史
答案:2 悬赏:30
解决时间 2021-03-16 06:28
- 提问者网友:你在我心中是最美
- 2021-03-15 11:52
ecshop 怎样显示商品浏览历史
最佳答案
- 二级知识专家网友:晚安听书人
- 2021-03-15 13:30
ecshop的商品浏览历史是这样生成的:
访问商品的时候,经过goods.php,开始检查是否存在cookie 'ECS[history]',
若存在,取出该cookie的值,将其拆分为数组,将当前商品的id插入这个数组的开头位置,移除数组中重复的元素,在当前浏览历史中的商品数量大于系统设置的数量时,不断删除数组中的最后一个元素直到当前浏览历史中的商品数量不再大于系统设置的数量(这样可以保证浏览历史中的商品数量始终是一个固定值),将最终得到的新数组用,拼接为一个字符串,保存在cookie 'ECS[history]'中。
若不存在,保存当前商品id到cookie 'ECS[history]'中。
显示商品浏览历史的时候,通过$_COOKIE['ECS']['history']得到浏览历史里面的商品id,自然就可以通过这些id得到商品信息,至于具体如何显示,请查看history.lbi和lib_insert.php里面的insert_history方法。
访问商品的时候,经过goods.php,开始检查是否存在cookie 'ECS[history]',
若存在,取出该cookie的值,将其拆分为数组,将当前商品的id插入这个数组的开头位置,移除数组中重复的元素,在当前浏览历史中的商品数量大于系统设置的数量时,不断删除数组中的最后一个元素直到当前浏览历史中的商品数量不再大于系统设置的数量(这样可以保证浏览历史中的商品数量始终是一个固定值),将最终得到的新数组用,拼接为一个字符串,保存在cookie 'ECS[history]'中。
若不存在,保存当前商品id到cookie 'ECS[history]'中。
显示商品浏览历史的时候,通过$_COOKIE['ECS']['history']得到浏览历史里面的商品id,自然就可以通过这些id得到商品信息,至于具体如何显示,请查看history.lbi和lib_insert.php里面的insert_history方法。
全部回答
- 1楼网友:孤伤未赏
- 2021-03-15 14:31
goods.php中
if (!empty($_cookie['ecs']['history']))
{
$history = explode(',', $_cookie['ecs']['history']);
array_unshift($history, $goods_id);
$history = array_unique($history);
while (count($history) > $_cfg['history_number'])
{
array_pop($history);
}
setcookie('ecs[history]', implode(',', $history), gmtime() + 3600 * 24 * 30);
}
else
{
setcookie('ecs[history]', $goods_id, gmtime() + 3600 * 24 * 30);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |