Ecstore开发之购物车模块-购物车数据加载

点击进入购物车

当点击进入购物车的时候进入控制器cart.php中的index方法,调用_common方法

_common方法
get_objects

返回的是购物车中的数据,所有的数据都是处理过的,如果有商品促销或者订单促销都进行过处理

getobjects方法是通过注册services的方式对购物车的数据进行处理的,根据getorder的大小进行优先级处理

b2c_cart_process_get:获取到的是购物车中的商品的详细数据

b2c_cart_process_profilter:对购物车中的商品进行商品促销过滤及加载商品促销数据

b2c_cart_process_postfilter:对购物车中的商品进行订单促销过滤及加载订单促销数据

最先进入的是 b2c_cart_process_get类中进行处理,调用的是process方法

b2ccartprocess_get

在b2ccartprocess_get类中主要是把购物车的数据进行组织,并不包含促销等处理

通过servies b2ccartobject_apps获取购物车不同数据(优惠劵,商品,赠品)

b2c_cart_object_goods:获取到的是购物车中的商品数据

b2c_cart_object_coupon:获取到的是购物车中优惠劵的数据

gift_cart_object_gift:获取到的是购物车中赠品的数据

通过b2ccartobjectgoods,b2ccartobjectcoupon,gfitcartobject_gift三个类获取到商品数据用

b2ccartobject_goods

getAll方法调用了model/cart/objects.php中的getlist方法来获取购物车中的数据

getlist方法获取的购物车中的数据结构如下:

在这获取到的数据是比较简单一些信息,getAll方法中再调用了_get方法把购物车商品详细数据信息进行加载
get方法,获取到购物车中信息的商品数据
get_basic

_get_products

_check_goods

_check_products

get_products_real_store

b2ccartobject_coupon

获取购物车中的优惠劵

giftcartobject_gift

获取到购物车的赠品数据

b2ccartprocess_profilter

调用的是process方法,在process方法中调用b2ccartprefilter_apps services注册类中的filter

方法来加载商品促销数据,加载完成后进行统计

b2ccartprefilterpromotiongoods

商品促销预过滤

filter

b2ccartprocess_postfilter

调用的是process方法,在process方法中调用b2ccartpostfilter_apps services注册类中的filter

方法来加载商品促销数据,加载完成后进行统计

b2ccartpostfilter_promotion

订单促销加载,优惠劵促销加载

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: