最近在实现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') .

                " 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来进行提供猜你喜欢也可以,其实就看你想怎么实现了。

Comments are closed.