最近在实现ecshop中的一个猜你喜欢的原理,一直不明白这个是如何猜的,难道是根据最近浏览记录来得到?百思不得其解,就放下了这个问题,一天在百度搜索东西的时候,突然发现这个右边有个猜你喜欢的功能,其实以前也知道,这里有这个版块,只不过没加注意,这次经过仔细观察发现,原来猜你喜欢的时候,就根据你搜索的相关结果,关联出一些同类产品。 举个例子,比如最模板搜索notepad2的时候,notepad++,editplus等软件就被列入了猜你喜欢的类别中,因此,在ecshop中如果最模板们记录了用户的浏览记录,通过浏览记录找出记录中的同类产品,其实就是猜你喜欢的结果了。 当最模板们一直研究某个问题,可能一时间得不到个最终结果,但是偶然的某个时候最模板们就会发现,答案自然出来了。其实不是答案自然出来了,其实是最模板们一直都在搜索答案,只不过是在后台静默的搜索,以至于最模板们都没察觉,但是,当结果出来的时候,他就会弹窗告知最模板们,最模板们要的答案出现了。 首先查看 调用浏览历史的函数insert_history(),从中找出得到历史记录的方法:
$where = db_create_in($_COOKIE['ECS']['history'], 'goods_id'); $sql = 'SELECT goods_id, cat_id FROM ' . $GLOBALS['ecs']>table('goods') .//www.zuimoban.com " WHERE $where AND is_on_sale = 1 AND is_alone_sale = 1 AND is_delete = 0"; $query = $GLOBALS['db']->query($sql);
这样就会得到浏览记录的商品id,所属的cat_id. 接下来通过 获得指定分类下的推荐商品函数 get_category_recommend_goods() 基本上就得到最模板们想要的猜你喜欢的功能了。如果顾客购买过商品,最模板们通过订单表中的商品来找到所属的category来进行提供猜你喜欢也可以,其实就看你想怎么实现了。 (责任编辑:最模板) |