一个包含促销活动的购物车,用到了PHP的zend framework框架。
购物车的数据库设计:
1. id
2. goods_id 商品ID
3. session_id 购物车ID
4. goods_sn 商品编码
5. goods_name 商品名称
6. shop_price 商品商城售价
7. goods_price 商品真实售价(与shop_price的区别在于,当打折的时候,shop_price是打折之前商品的售价,而goods_price是打折之后的)
8. goods_number 数量
9. weight 商品重量
10. goods_attr 商品属性(如颜色,尺码)
11. promote_code 促销编码(为商品促销,做的策略模式识别码)
12. is_promote 促销ID
13. stock_id 库存ID
如果还有其他的需求,比如商品的返利积分,商品是否虚拟产品,商品是否代发货等等,可以另加标示符。
此购物车要求是在用户不登陆状态下可以把商品添加到购物车内的,所以在购物车数据库设计里面,就没有加入user_id这个字段,考虑到的是用户未登陆下也可以把商品放入购物车。
识别购物车到底是哪一位用户时,需要用到session_id,是用户对应购物车的唯一识别码。
生成这个码可以放在购物车对象Cart的构造函数里:
代码发下: 代码示例:
php
/**
* 购物车类购物方法
* @param string $