第一,修改商品列表模板 /themes/default/library/goods_list.lbi,在每个商品的前面增加一个复选框按钮。在74行的样子增加以下的代码:
<input type="checkbox" value="{$goods.goods_id}" />
第二,随便找个位置,增加可以添加选定商品到购物车的链接。代码如下:
<a href="javascript:addSelectedToCart('goodslist')">Add selected products to cart</a>
第三,添加循环将选定商品加入购物车的函数,打开/js/common.js文件,在第36行,加入下面的代码:
/*
*添加选定商品到购物车
*/
function addSelectedToCart(p)
{
for ( var i=0i<document.getElementById(p).elements.lengthi++ )
{
var e = document.getElementById(p).elements[i]
if ( (e.type=='checkbox')&&(!e.disabled) )
{
if ( e.checked )
{
addToCart(e.value)
}
}
}
}
微信小程序的购物车功能在商品列表页
index.wxml
中,给下单按钮绑定一个添加购物车的事件
addCart
,使用
catchtap
是不会冒泡,同时传入
data-item
,当前的商品,代码如下所示:
1
<view class="order" catchtap="addCart" data-item="{{ item }}">下单</view>
在
index.js
中,在
Page
中,定义
addCart
事件。对此,可以分析一下当点击按钮以后添加购物车的逻辑:
拿到点击要添加入到购物车的商品
判断该商品在不在购物车里面
如果不在, 把该商品添加到购物车里面, 并且新加一个字段
num = 1
如果在,修改改商品的
num
值 累加
在
addCart
中,第一步拿到该商品,通过
e.currentTarget.dataset
获取。第二步,判断该商品在不在购物车里面,根据
_id
尝试从购物车里面获取数据,看能不能获取的到。使用
try...catch
,在有值的情况下,把购物车里面的该商品的
num
值累加
,并且进行下单成功的提示;在没有值,把商品添加到购物车里面,并且进行下单成功的提示,最后调用
setTabBar()
方法修改底部购物车
设一个表,购物车表,大约是购物车(ID,用户ID,产品编号,单价,数量),其中ID为自动编号类型
当点餐时,插入一行,然后用Gridview控件显示出来
然后统计GridView里的各行单价*数量的和,即为总价格之和。
付款下订单流程是
将购物车的商品信息插入订单表,共两张表,表如下
销售单(ID,销售单号, *** 作人,订单生成时间,金额,订单状态,备注)
销售单详情(ID,销售单号,产品ID,销售价,数量)
同时删除购物车
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)