Maison >développement back-end >tutoriel php >php网上商城购物车代码一例

php网上商城购物车代码一例

WBOY
WBOYoriginal
2016-07-25 08:59:351772parcourir
  1. /**
  2. * 购物车类购物方法
  3. * @param string $cart_id 购物车ID
  4. */
  5. public function __construct()
  6. {
  7. Zend_Session::start();
  8. $this->_session = new Zend_Session_Namespace('ShopCart');
  9. if(!isset($this->_session->session_id))
  10. {
  11. $this->_session->session_id = md5(uniqid(mt_rand(), true));
  12. $this->_session->info = array();
  13. }
  14. $this->_cart_id = $this->_session->session_id;
  15. }
  16. ?>
复制代码

第三点,添加一个商品到购物车。 添加一个商品到购物车,在这里,我把它想成是两个动作。 第一个动作:添加商品到购物车数据库里面。 第二个动作:查找购物车所有商品,并显示出来。 首先是第一个动作:

代码如下:

  1. /**
  2. * 添加商品
  3. */
  4. public function goodsAddAction()
  5. {
  6. // 添加商品使用get请求
  7. $goods_id = $this->_getParam('goods_id');//商品ID
  8. $goods_spec = $this->_getParam('filter_name');//商品属性(颜色,尺码)
  9. $goods_number = $this->_getParam('goods_number');//商品数量
  10. $promote_name = $this->_getParam('promote_name', 'Default');//促销策略
  11. //获取购物车实例
  12. $cartB = $this->_getCart();
  13. $cartB->goodsAdd($goods_id, $goods_spec, $goods_number, $promote_name);
  14. //添加成功,跳转到下一步,查找购物车所有商品,并显示出来。
  15. $this->_showMessage(Bll_Context::isError() ? Bll_Context::getError() : '添加到购物篮成功!', Bll_Context::getRecirect('/orderv2'), 3);
  16. }
  17. ?>
复制代码

上段代码第15行:

  1. /**
  2. * 购物列表
  3. */
  4. public function indexAction()
  5. {
  6. //获取购物车实例
  7. $cartB = $this->_getCart();
  8. //列出购物车内所有商品
  9. $this->view->goods_list = $cartB->goodsViewList();
  10. //获取用于显示规则消息的规则实例列表
  11. $this->view->tips = $cartB->goodsTipRules();
  12. //购物车内商品总数量
  13. $this->view->total_number = $cartB->getTotalGoodsNumber();
  14. //获取购物车内商品总货额
  15. $this->view->total_amount = $cartB->getTotalAmount();
  16. }
  17. ?>
复制代码

以上代码中,第一个和第二个动作必须是要分开的,允许不添加商品直接点购物车。 就是这些了,抛砖引玉吧,希望对大家有些许的启发,在下就满足了。



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn