1. 程式人生 > >ecshop中猜你喜歡的原理

ecshop中猜你喜歡的原理

最近在實現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來進行提供猜你喜歡也可以,其實就看你想怎麼實現了。