购物车类是zencart系统的主要类之一,他主要作用就是记录用户购物的商品,为最后结账做准备,这个功能是非常熟悉的一个功能,也是每一种网店系统的最基本的一个类。下面就简单介绍一下zencart购物车这个类的信息。
购物车类所在文件位置是:includes\classes\shopping_cart.php
购物车类的主要元素:
var $contents;////购物车的内容,它是以一个数组的形式保存当前购物车内的所有商品
var $total;////购物车商品的所有价格总数
var $weight;///购物车内商品的总重量
var $cartID;////购物车的ID标识
var $content_type;///购物车内所有商品的类型
var $free_shipping_item;/////购物车内免运费商品的数量
var $free_shipping_weight;//购物车内所有免运费商品的重量
var $free_shipping_price;///购物车内所有免运费商品的价格
购物车类中的函数功能:
function shoppingCart()
//购物车类的构造函数
function restore_contents()
//该函数主要是恢复用户的购物车的内容。如果用户登录了,添加了一些商品到购物车内,但是最后没有结账就下线,购物车会记录当前用户的购物车内容,然后下次再次登录,当结算的时候购物车会提示之前所添加到购物车的商品没有结算,然后会跟当前购物车的内容合并结算。该函数的作用就是恢复之前购物车的内容,并且跟当前购物车的内容合并。该函数没有返回值
function reset($reset_database = false)
///该函数作用是重新设置当前购物车的内容。默认参数$reset_database 为false,如果用户登录了,会把用户购物车的内容清空,包括数据库保存的内容。该函数没有返回值
function add_cart($products_id, $qty = ‘1’, $attributes = ‘’, $notify = true)
///该函数作用是添加一个商品到购物车内。如果用户已经登录,则该信息会添加到数据库。
参数解释:
$products_id :添加到购物车中商品的ID
$qty: 添加商品的数量,默认添加一个
$attributes:该商品的属性信息,该参数为数组。
$notify:是否添加到当前通知信息的列表中,默认为true。
该函数没有返回值
function update_quantity($products_id, $quantity = ‘’, $attributes = ‘’)
///更新购买商品的数量,如果用户登录了,该信息跟数据库内保存的记录同步更新
参数解释:
$products_id : 所更新的商品ID
$quantity:更新的数量
$attributes:商品的属性
该函数没有返回值
function cleanup()
//该函数作用是清空购物车的内容,如果用户登录了,该操作跟用户数据库的记录同步更新。该函数没有返回值
function count_contents()
//该函数计算当前购物车内所有商品的数量。函数返回值为整数。
该函数也是判断当前购物车内是否为空的一个标志,如果购物车为空,则该函数返回0,否则为一个大于1的整数
function get_quantity($products_id)
///该函数获取购物车内一个特定ID的商品的数量。返回一个整数值
function in_cart($products_id)
///判断一个特定ID的商品是否在当前购物车内。如果在,就返回true,否则返回false。
function remove($products_id)
///从购物车内删除一个商品,输入参数为商品的ID
函数没有返回值
function remove_all()
///清空购物车的内容,跟reset()函数一样的操作。
function get_product_id_list()
//返回当前购物车内商品ID的列表,返回值为一个字符串,用逗号分隔的字符串。
function calculate()
//计算当前购物车内商品的价格和总量的总和。函数没有返回值
function attributes_price($products_id)
///该函数计算特定ID的商品所有属性的价格,比如某商品有多个属性,不同属性的价格都不一样的话,而如果用户选择了多个属性,该函数就是计算用户所选择的属性的价格总数,这个价格跟商品的价格不一样,后台添加商品的时候有该属性的价格设置。
function attributes_price_onetime_charges($products_id, $qty)
////计算特定id商品的特定数量的属性价格
function attributes_weight($products_id)
//计算特定ID的商品的属性的重量。
function get_products($check_for_valid_cart = false)
//返回购物车内所有商品的详细内容。返回一个数组。参数$check_for_valid_cart 是校验结算商品是否为有效的商品。比如该商品的状态是否为激活,如果不是激活状态就去掉该商品。默认为false,不校验。
function show_total()
///返回购物车内商品的所有价格
function show_weight()
///返回购物车内所有商品的重量。
function generate_cart_id($length = 5)
///产生一个购物车ID,参数$length 为该ID的长度。
function get_content_type($gv_only = ‘false’)
///返回购物车内商品的类型,参数$gv_only 为是否只是测试礼品券。默认false。
function in_cart_mixed($products_id)
///计算特定ID的商品的数量,
function in_cart_check($check_what, $check_value=‘1’)
///计算某个特性的商品的数量,比如 product_is_free。$check_what 检验的字段,比如product_is_free字段,check_value检验的值。
使用方式,比如想返回购物车内商品有product_is_free属性并且值为1的商品的数量,可以这样调用该函数
_SESSION[‘cart’]->in_cart_check(‘product_is_free’,‘1’);
function free_shipping_items()
///返回免运费商品的数量。
function free_shipping_prices()
//返回免运费商品的价格
function free_shipping_weight()
///返回免运费商品的重量
function actionUpdateProduct($goto, $parameters)
////处理购物车更新商品操作。参数$goto 为更新成功后调转到的页面,$parameters调转页面的参数
function actionAddProduct($goto, $parameters)
///处理购物车添加商品的操作,参数同上
function actionBuyNow($goto, $parameters)
///处理购物车buy now的操作,参数同上
function actionMultipleAddProduct($goto, $parameters)
///处理购物车添加多个商品的操作,参数同上
function actionNotify($goto, $parameters)
//处理购物车通知操作,参数同上
function actionNotifyRemove($goto, $parameters)
///处理购物车notify remove操作,参数同上