前期工作:
引入shopping.js文件
<script type="text/javascript" src="inc/script/shopping.js"></script>
1、将商品加入购物车:
调用方法:
mle.shopping.add_cart()
相关参数:
共有1个必填参数,4个可选参数:
1、商品 id,必填
2、显示购物车中物品数量的元素ID,省略时不显示
3、商品颜色,省略时为空字符串
4、商品规格,省略时为空字符串
5、购买数量,省略时为1
调用实例:
1、加入10个id为1的单规格商品到购物车中:
mle.shopping.add_cart(1,'','','',10)
2、加入id为2的多规格商品到购物车中,并且改变购物车中的物品数量:
<div>购物车(<span id="cart_number">0</span>)</div>
<script type="text/javascript">
mle.shopping.add_cart(2,'cart_number','白色','XXL')
</script>
<script type="text/javascript">
mle.shopping.add_cart(2,'cart_number','白色','XXL')
</script>
2、快速创建规格选择器:
调用方法:
mle.shopping.create_sku()
相关参数:
该方法传递一个对象,对象结构如下:
data:商品规格对象,该对象可以通过{:product::data():}返回的商品数据中获得,具体调用请参考下方调用实例
sku:规定所有规格的元素类名
selected:规定被选中规格的类名
disabled:规定不可选规格的类名
color:规定“商品颜色”的类名
sku1:规定“商品规格”的类名
sku_level1:指定一级规格是“商品颜色”还是“商品规格”
sku_level2:指定二级规格是“商品颜色”还是“商品规格”
show_sku:每个规格选择时触发的回调方法,可用变量有:price单价、inv库存、img图片
no_sku:当没有选完规格时触发的回调方法
调用实例:
<!-- 调用商品 -->
{:$p = product::data(0,1,0,0,0,1):}
<-- 商品颜色 -->
{:foreach $p['skus']['color'] as $k=>$color:}
<-- 商品规格 -->
<script type="text/javascript">
mle.shopping.create_sku({
</script>
{:$p = product::data(0,1,0,0,0,1):}
<-- 商品颜色 -->
{:foreach $p['skus']['color'] as $k=>$color:}
<div id="{:$color['id_color']:}" class="liclass choose_color sku" >{:$color['colorname']:}</div>
{:/foreach:}
<-- 商品规格 -->
{:foreach $p['skus']['size'] as $k=>$size:}
<div id="{:$size['id_size']:}" class="liclass choose_size sku">{:$size['val']:}</div>
{:/foreach:}
<script type="text/javascript">
mle.shopping.create_sku({
data: {:json_encode($p['skus']):},
sku: 'sku',
selected: 'selected',
disabled: 'sku_disable',
color: 'choose_color',
sku1: 'choose_size',
sku_level1: 'sku1',
sku_level2: 'color',
show_sku: function(price,inv,img){
// 规格选择完之后可以显示选中规格的单价、库存、图片
},
no_sku: function(){
// 规格没选完的时候可以显示默认的单价、库存、图片
}
})</script>