天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php網(wǎng)上商城購(gòu)物車設(shè)計(jì)代碼分享

首先,購(gòu)物車的數(shù)據(jù)庫(kù)設(shè)計(jì):
1. id
2. goods_id 商品ID
3. session_id 購(gòu)物車ID
4. goods_sn 商品編碼
5. goods_name 商品名稱
6. shop_price 商品商城售價(jià)
7. goods_price 商品真實(shí)售價(jià)(與shop_price的區(qū)別在于,當(dāng)打折的時(shí)候,shop_price是打折之前商品的售價(jià),而goods_price是打折之后的)
8. goods_number 數(shù)量
9. weight 商品重量
10. goods_attr 商品屬性(如顏色,尺碼)
11. promote_code 促銷編碼(為商品促銷,做的策略模式識(shí)別碼)
12. is_promote 促銷ID
13. stock_id 庫(kù)存ID
數(shù)據(jù)庫(kù)結(jié)構(gòu)大概是這個(gè)樣子。當(dāng)然如果還有其他的需求,比如商品的返利積分,商品是否虛擬產(chǎn)品,商品是否代發(fā)貨等等,可以另加標(biāo)示符。這里就不一一舉例了。
第二點(diǎn),我們這個(gè)購(gòu)物車要求是在用戶不登陸狀態(tài)下可以把商品添加到購(gòu)物車內(nèi)的,這也是最近非常流行的一種方式,所以在購(gòu)物車數(shù)據(jù)庫(kù)設(shè)計(jì)里面,就沒(méi)有加入user_id這個(gè)字段,考慮到的是用戶未登陸下也可以把商品放入購(gòu)物車。
那么識(shí)別購(gòu)物車到底是哪一位用戶的話,就是需要用到session_id,是用戶對(duì)應(yīng)購(gòu)物車的唯一識(shí)別碼。生成這個(gè)碼可以放在購(gòu)物車對(duì)象Cart的構(gòu)造函數(shù)里:
復(fù)制代碼 代碼如下:
/**
* 購(gòu)物車類購(gòu)物方法
* @param string $cart_id 購(gòu)物車ID
*/
public function __construct()
{
Zend_Session::start();
$this->_session = new Zend_Session_Namespace('ShopCart');
if(!isset($this->_session->session_id))
{
$this->_session->session_id = md5(uniqid(mt_rand(), true));
$this->_session->info = array();
}
$this->_cart_id = $this->_session->session_id;
}

凡事有利就有弊,這個(gè)設(shè)計(jì)的好處是未登錄就可以使用購(gòu)物車;不好處就是兩人共用一臺(tái)電腦,購(gòu)物車無(wú)法判斷商品到底是哪一個(gè)人的。
第三點(diǎn),添加一個(gè)商品到購(gòu)物車。
添加一個(gè)商品到購(gòu)物車,在這里,我把它想成是兩個(gè)動(dòng)作。
第一個(gè)動(dòng)作:添加商品到購(gòu)物車數(shù)據(jù)庫(kù)里面。
第二個(gè)動(dòng)作:查找購(gòu)物車所有商品,并顯示出來(lái)。
首先是第一個(gè)動(dòng)作:
復(fù)制代碼 代碼如下:
/**
* 添加商品
*/
public function goodsAddAction()
{
// 添加商品使用get請(qǐng)求
$goods_id = $this->_getParam('goods_id');//商品ID
$goods_spec = $this->_getParam('filter_name');//商品屬性(顏色,尺碼)
$goods_number = $this->_getParam('goods_number');//商品數(shù)量
$promote_name = $this->_getParam('promote_name', 'Default');//促銷策略
//獲取購(gòu)物車實(shí)例
$cartB = $this->_getCart();
$cartB->goodsAdd($goods_id, $goods_spec, $goods_number, $promote_name);
//添加成功,跳轉(zhuǎn)到下一步,查找購(gòu)物車所有商品,并顯示出來(lái)。
$this->_showMessage(Bll_Context::isError() ? Bll_Context::getError() : '添加到購(gòu)物籃成功!', Bll_Context::getRecirect('/orderv2'), 3);
}

上段代碼第15行:
$cartB->goodsAdd($goods_id, $goods_spec, $goods_number, $promote_name);
這就是添加商品操作函數(shù),這里面的$promote_name是促銷的一個(gè)參數(shù),具體是用策略模式來(lái)選用哪種促銷策略,我準(zhǔn)備在下一篇文章具體來(lái)討論。這里只要知道是添加這個(gè)商品的基本信息,存入到購(gòu)物車數(shù)據(jù)庫(kù)里即可。
其次就是第二個(gè)動(dòng)作:
復(fù)制代碼 代碼如下:
/**
* 購(gòu)物列表
*/
public function indexAction()
{
//獲取購(gòu)物車實(shí)例
$cartB = $this->_getCart();
//列出購(gòu)物車內(nèi)所有商品
$this->view->goods_list = $cartB->goodsViewList();
//獲取用于顯示規(guī)則消息的規(guī)則實(shí)例列表
$this->view->tips = $cartB->goodsTipRules();
//購(gòu)物車內(nèi)商品總數(shù)量
$this->view->total_number = $cartB->getTotalGoodsNumber();
//獲取購(gòu)物車內(nèi)商品總貨額
$this->view->total_amount = $cartB->getTotalAmount();
}

這里第一個(gè)和第二個(gè)動(dòng)作必須是要分開(kāi)的,因?yàn)橛脩粢部梢圆惶砑由唐分苯狱c(diǎn)購(gòu)物車。

下面是效果圖:



第一次發(fā)帖,有什么不足,不清楚的,還請(qǐng)見(jiàn)諒。歡迎討論!

php技術(shù)php網(wǎng)上商城購(gòu)物車設(shè)計(jì)代碼分享,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 麻豆啊传媒app黄版破解免费 | 我半夜摸妺妺的奶C了她 | 亚洲精品国偷拍电影自产在线 | 九九国产精品成人AV麻豆 | 国产激情文学 | 夜色55夜色66亚洲精品网站 | 国产AV视频二区在线观看 | 国产激情视频在线观看 | 日韩一区二区三区四区区区 | 国产在线观看www鲁啊鲁免费 | 欧美6O老妪与小伙交 | 老司机福利视频一区在线播放 | 伊人国产在线播放 | 亚洲免费精品视频 | 欧美.亚洲.日韩.天堂 | 亚洲AV精品乱码专区 | 青草伊人网 | 办公室的秘密2中文字幕 | 日本无码人妻精品一区二区视频 | 麻豆国产成人AV在线 | 动漫美女搞鸡 | 丰满五十六十老熟女HD60 | 在线亚洲精品国产一区麻豆 | 成年女人色毛片免费 | 乱精品一区字幕二区 | 精品无人区麻豆乱码无限制 | 精品国产麻豆AV无码 | 久久操韩国自偷拍 | 刺激一区仑乱 | 国内九一激情白浆发布 | 视频在线免费观看 | 国产午夜理论片YY8840Y | 好大好硬好湿再深一点网站 | 国产日韩久久久精品影院首页 | 日韩精品一区二区三区AV在线观看 | 毛片免费观看的视频在线 | 一级黄色香蕉视频 | 国产日韩欧美另类 | 色婷婷亚洲精品天天综合影院 | 美国69xxxx59| 玩弄放荡人妻一区二区三区 |