zencart如何实现开发最近浏览产品模块,当前用户浏览过的产品记录显示出来,其实这个可以用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); 这个思路大概就是这样。具体实践可以自己对照着去做就可以了。 (责任编辑:好模板) |