ecshop中的瀏覽歷史

2021-05-24 22:01:11 字數 1691 閱讀 8079

今天看了看 ecshop 中的瀏覽歷史的**,分析了一下,有什麼不對的地方,歡迎指出糾正,不勝感激...

不難看出,在你每次瀏覽一件商品的同時,會在左側中記錄您的瀏覽記錄,在ecshop中是通過cookie來記錄的, 在goods.php裡可以查到如下**:

if (!empty($_cookie['ecs']['history']))

setcookie('ecs[history]', implode(',', $history), gmtime() + 3600 * 24 * 30); }

else

每一次瀏覽,都會記錄$good_id(商品的id),放到cookie裡。

在模版裡goods.dwt裡是引用了在history.lbi裡可以看到 , 基本上學過smarty的都知道,這是區域性不緩衝用到的,那麼它肯定存在乙個方法: insert_history(),果然,在lib_insert.php中找到了。其實lib_insert.php 就是乙個動態內容函式庫。

function insert_history()

$str = '';

if (!empty($_cookie['ecs']['history']))

$where = db_create_in($_cookie['ecs']['history'], 'goods_id');

$sql   = 'select goods_id, goods_name 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);

$res = array();

while ($row = $globals['db']->fetch_array($query))

$res[$row['goods_id']] = $row;

$tureorder = explode(',', $_cookie['ecs']['history']);

foreach ($tureorder as $key => $val)

$goods_name = htmlspecialchars($res[$val]['goods_name']);

if ($goods_name)

$short_name = $globals['_cfg']['goods_name_length'] > 0 ? sub_str($goods_name, $globals['_cfg']['goods_name_length']) : $goods_name;

$str .= '$val), $goods_name). '" title="' . $goods_name . '">' . $short_name . '

';return $str;

其實該函式返回的字串就是history.lbi裡的所需內容,需要說明一下的是像**中類似 $_cfg['history_number'],一般是系統定義的常量或是資料庫中儲存的字段,查了一下發現是在 ecs_shop_config表裡。剩下的就是看一下**,怎麼通過商品的id ,獲取商品的資訊了。不再多說,提醒一下,上面用到了幾個針對資料函式,如array_unshift,array_unique還是經常遇到的,順便鞏固一下。

好了,今天就到這裡吧!

ecshop中的瀏覽歷史

今天看了看 ecshop 中的瀏覽歷史的 分析了一下,有什麼不對的地方,歡迎指出糾正,不勝感激.不難看出,在你每次瀏覽一件商品的同時,會在左側中記錄您的瀏覽記錄,在ecshop中是通過cookie來記錄的,在goods.php裡可以查到如下 if empty cookie ecs history s...

棧 網頁瀏覽歷史

輸入描述 輸入包含多組資料,每組資料第一行包含乙個正整數n 1 n 100 緊接著有n行,每一行包含一條指令。其中url是不包含空格 長度不超過100的非空字串。輸出描述 對應每組資料,為每條指令輸出當前頁面的url。每組資料之後輸出乙個空行作為分隔。示例1 13 visit visit visit...

清除Eclipse中的內建瀏覽器中的歷史記錄

今天看到有人在問這問題,好奇,網上尋找了下。沒有找到解決辦法。自己動手,如下 eclipse內建瀏覽器的訪問記錄是儲存在對應的工程目錄下的.metadata配置 中,也就是說你新建乙個工程的話就沒有了。如果確實要刪除那就找到工作空間中的org.eclipse.ui.browser.prefs檔案 例...