久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

ecshop二次開發(fā)之購(gòu)物車分析

這篇文章主要為大家介紹了ecshop二次開發(fā)中購(gòu)物車數(shù)據(jù)的存儲(chǔ)與讀寫,以實(shí)例形式詳細(xì)描述了針對(duì)購(gòu)物車數(shù)據(jù)的保存方法及讀寫方法的修改技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以

本文實(shí)例講述了ecshop二次開發(fā)之購(gòu)物車分析。分享給大家供大家參考。具體分析如下:

一、保存用戶購(gòu)物車數(shù)據(jù)

ECSHOP的購(gòu)物車數(shù)據(jù),是以Session 方式存儲(chǔ)在數(shù)據(jù)庫(kù)里,并在Session結(jié)束后 ,Distroy 掉,解決方法是:

1.購(gòu)物車內(nèi)容讀取方式. 更改登陸后購(gòu)物車獲取條件 "Session 單獨(dú)方式"為 Session +用戶名 ,該修改位于Lib_order 下 function get_cart_goods();

2. 購(gòu)物車內(nèi)容記錄方式,未登陸方式依然是Session , 用戶登陸后,自動(dòng)UPdate Cart 一次,將同一UserID下購(gòu)物車內(nèi)數(shù)據(jù)不是當(dāng)前Session的Update到當(dāng)前Session , 并將當(dāng)前Session 下UserID為0的部分(未登陸情況下,Userid是0),UpdateID到當(dāng)前UserID ,該修改位于 Flow.php 下面function flow_update_cart($arr)

3.更改退出時(shí),自動(dòng)Clear Cart的部分,將Distroy 當(dāng)前Session 的內(nèi)容,更改為Distroy 當(dāng)前Session 下 User ID為0的部分。 該修改位于:Includes/cls_session.php ,     function destroy_session() 部分

說(shuō)明:這種情況下就是游客關(guān)閉瀏覽器后,購(gòu)物車清空, 注冊(cè)用戶購(gòu)物車永久保存, 可能會(huì)對(duì)服務(wù)器造成輕微壓力,主要取決于用戶的數(shù)量,如果數(shù)量較多數(shù)據(jù)服務(wù)器壓力較大,可以通過(guò)程序,自動(dòng)清理超過(guò)一定時(shí)間段未登陸的User Cart (或者是額外增加一個(gè)數(shù)據(jù),來(lái)標(biāo)示加入購(gòu)物車的時(shí)間,根據(jù)此時(shí)間判斷是否自
動(dòng)清理).

二、讀取購(gòu)物車數(shù)據(jù)

1.購(gòu)物車內(nèi)容讀取方式. 更改登陸后購(gòu)物車獲取條件 "Session 單獨(dú)方式"為 Session +用戶名 ,該修改位于Lib_order 下 function get_cart_goods();

具體更改代碼部分:

復(fù)制代碼
代碼如下:
function get_cart_goods()
{
$goods_list = array();
$total = array(
'goods_price' => 0, // 本店售價(jià)合計(jì)(有格式)
'market_price' => 0, // 市場(chǎng)售價(jià)合計(jì)(有格式)
'saving' => 0, // 節(jié)省金額(有格式)
'save_rate' => 0, // 節(jié)省百分比
'goods_amount' => 0, // 本店售價(jià)合計(jì)(無(wú)格式)
);</p> <p>$uid=$_SESSION['user_id'];
if($uid==0){
$sql = "SELECT *, IF(parent_id, parent_id, goods_id) AS pid " .
" FROM " . $GLOBALS['ecs']->table('cart') . " " .
" WHERE session_id = '" . SESS_ID . "' AND rec_type = '" . CART_GENERAL_GOODS . "'" .
" ORDER BY pid, parent_id";}else{
$sql = "SELECT *, IF(parent_id, parent_id, goods_id) AS pid " .
" FROM " . $GLOBALS['ecs']->table('cart') . " " .
" WHERE (user_id='".$uid."' OR session_id = '" . SESS_ID . "') AND rec_type = '" . CART_GENERAL_GOODS . "'" .
" ORDER BY pid, parent_id";
}
$res = $GLOBALS['db']->query($sql);
//........后面不變

2. 購(gòu)物車內(nèi)容記錄方式,未登陸方式依然是Session , 用戶登陸后,自動(dòng)UPdate Cart 一次,將同一UserID下購(gòu)物車內(nèi)數(shù)據(jù)不是當(dāng)前Session的Update到當(dāng)前Session , 并將當(dāng)前Session 下UserID為0的部分(未登陸情況下,Userid是0),UpdateID到當(dāng)前UserID ,該修改位于 Flow.php 下面function flow_update_cart($arr)   

復(fù)制代碼
代碼如下:
function flow_update_cart($arr)
{
foreach ($arr AS $key => $val)
{
$val = intval(make_semiangle($val));
if ($val <= 0)
{
continue;
}</p> <p> $sql = "SELECT `rec_id`, `goods_id`, `goods_attr_id`, `extension_code` FROM" .$GLOBALS['ecs']->table('cart').
" WHERE rec_id='$key' AND (session_id='" . SESS_ID . "' OR user_id='".$_SESSION['user_id']."')";</p> <p> $goods = $GLOBALS['db']->getRow($sql);
// 更新購(gòu)物車Session & user id
$sql ="UPDATE " .$GLOBALS['ecs']->table('cart')." SET session_id='" . SESS_ID . "',user_id='".$_SESSION['user_id']."' where rec_id='".$goods['rec_id']."'";
$g = $GLOBALS['db']->query($sql);
$sql = "SELECT g.goods_name, g.goods_number ".
"FROM " .$GLOBALS['ecs']->table('goods'). " AS g, ".
$GLOBALS['ecs']->table('cart'). " AS c ".
"WHERE g.goods_id = c.goods_id AND c.rec_id = '$key'";
//...........................后面不變

在用戶登陸后,F(xiàn)low.php打開購(gòu)物車地方,需要調(diào)用一次自動(dòng)更新購(gòu)物車,
在$cart_goods = get_cart_goods();
之后增加如下代碼

復(fù)制代碼
代碼如下:
for($i=0; $i<count($cart_goods['goods_list']);$i++){
$a[$cart_goods['goods_list'][$i]['rec_id']]=$cart_goods['goods_list'][0]['goods_number'];}
if(count($a)>0){flow_update_cart($a);}

第三項(xiàng)自己琢磨吧,懶得去翻那代碼了,改掉SQL語(yǔ)句中session_id部分為user_id就行了

希望本文所述對(duì)大家的ecshop二次開發(fā)有所幫助。

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

ECShop是一款B2C獨(dú)立網(wǎng)店系統(tǒng),適合企業(yè)及個(gè)人快速構(gòu)建個(gè)性化網(wǎng)上商店。這篇文章主要介紹了ecshop添加菜單及權(quán)限分配,需要的朋友可以參考下
這篇文章主要介紹了Ecshop 后臺(tái)添加新功能欄目及管理權(quán)限設(shè)置教程,需要的朋友可以參考下
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)保存周期為1天的購(gòu)物車類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
這篇文章主要為大家介紹了帝國(guó)ECMS實(shí)現(xiàn)AJAX無(wú)刷新加入購(gòu)物車的方法,對(duì)于開發(fā)商城系統(tǒng)的朋友很有借鑒參考價(jià)值!需要的朋友可以參考下
這篇文章主要介紹了Ecshop實(shí)現(xiàn)支付時(shí)傳送商品訂單號(hào)和商品名稱的方法,涉及Ecshop模板操作及底層代碼的修改相關(guān)技巧,需要的朋友可以參考下
ECSHOP2.7版本的底部版權(quán)對(duì)于優(yōu)化與安全都不是很好,所以好多朋友都想給刪除了,下面的具體的方法,都是加密過(guò)的所有不容易簡(jiǎn)單的搜索.需要的朋友可以參考下。
主站蜘蛛池模板: 久草网在线观看 | 日韩精品免费在线观看 | 最新国产在线视频 | 亚洲第一在线 | 国产精品三 | 欧美成人极品 | 欧美午夜精品一区二区三区 | 中文字幕一区在线观看 | 国产白丝精品91爽爽久久 | av在线免费网站 | 成人动漫一区二区 | 日日夜夜干 | 日韩精品久久久久久 | 香港三日本三级少妇66 | 中文字幕在线资源 | 国产精品久久久久久久久久久久午夜片 | 黄色免费网站在线观看 | 伊人色播| 国产欧美激情 | 国产精品久久久一区二区 | 丰满少妇高潮在线观看 | 成人黄色在线视频 | 麻豆av网站 | 日本一区二区不卡视频 | av毛片网站| 免费色视频 | 日韩黄色在线视频 | 欧美日韩在线看 | 免费三片在线播放 | 午夜在线观看免费视频 | 国产美女自拍视频 | 青青操国产 | 天堂av资源 | 亚洲综合精品 | 日韩欧美在线观看视频 | 亚洲欧美视频在线观看 | 一级大片免费看 | 亚洲午夜精品 | 亚洲精品网址 | 91国内视频 | 国内精品一区二区三区 |