Heim >Backend-Entwicklung >PHP-Tutorial >php网上商城购物车代码一例

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

WBOY
WBOYOriginal
2016-07-25 08:59:351769Durchsuche
  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. ?>
复制代码

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



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn