zencart学习

zen cart如何实现记录当前用户浏览过的商品

保存当前用户浏览过的产品,其实这个可以用PHPsession就可以实现了。原理比较简单,就是当用户进入产品页面查看某个产品的时候就把当前浏览产品的产品ID保存在一个session变量里面,比如可以这样

if(zen_not_null($_GET['products_id'])) {
$_SESSION['recent_products'][] =$_GET['products_id'];
}

$_SESSION['recent_products'][] 这个session变量数组就是保存多个产品ID用的。
这个代码比较简单,主要就是保存浏览过的产品ID,如果就这样的话,那就会不断的往这个变量数组里面添加内容,那样就不是很好了,一个用户可能会浏览很多个产品。所以这时候可以设置这个数字最大的保存数量。这时候就可以这样设置
$_SESSION['recent_products'] = array_slice($_SESSION['recent_products1'] , 0, $maximum_recent);
这个就是把当前保存的数字截断,从第一个到设置的最大数$maximum_recent 这个变量是一个整数,返回的数组可以重新赋值给$_SESSION['recent_products'],也可以赋值给另外的变量
保存了这些信息以后就可以在想显示这个信息的地方调用这个数组的信息然后生成相关的信息了。
为了减少数据库的查询,可以在这个SESSION值里面保存更多的信息,如:
$_SESSION['recent_products'][] =array(“id”=>$_GET['products_id'],
“img”=>$producstsimages);
这个思路大概就是这样。具体实践可以自己对照着去做就可以了。
如果不懂代码的,可以直接使用这个功能的插件,下载地址http://www.zencart-bbs.com/read-htm-tid-3802.html


82