//php
/**
* 加入购物车
*/
public function cart(){
$act=$this->request->param("act");
if($act=="delall"){
Cookie("car",[],2600000);
$this->success("购物车已清空",'',[]);
}
$id=$this->request->param("id/d");
$num=$this->request->param("num/d",0);
$car=Cookie("car");
$car= empty($car) ? [] : $car;
if($act=="add"){
$car[$id]= empty($car[$id]) ? 1 : $car[$id]+1;
Cookie("car",$car,2600000);
}else if(!empty($id)){ //更新购物车
if($num){ //大于0
$car[$id]= $num;
}else{ //小于0
unset($car[$id]);
}
Cookie("car",$car,2600000);
}
//根据购物车读取商品
$list=Shangpin::where('id','in',array_keys($car))->where("status","normal")->select();
$allnum=0;
$alljiage=0;
$html="";
foreach ($list as $key => $item) {
$item->num=$car[$item->id];
$allnum++;
$alljiage=bcadd($alljiage,bcmul($item->jiage,$item->num,2),2);
$html.="<li><h6 class='title ellipsis'>{$item->name}</h6><span class='price'>¥<em>{$item->jiage}</em></span><div class='numbox'><a class='press sub' href='javascript:;' onclick='jiajian({$item->id},".bcsub($item->num,1,0).");'>-</a><input type='text' value='{$item->num}' class='booknum' readonly><a class='press add' href='javascript:;' onclick='jiajian({$item->id},".bcadd($item->num,1,0).");'>+</a></div></li>";
}
$this->success("购物车已更新",'',['list'=>$list,'allnum'=>$allnum,'alljiage'=>$alljiage,'html'=>$html]);
}
//js
$.get("{:url('index/index/cart')}", function(res){
shujuchuli(res.data);});
//显示购物车列表
$('.dibox .buycar').click(function(){
$('.pop-tc .topbox').toggle();
$('.pop-tc .mask').toggle();
});
//遮罩层
$('.pop-tc .mask').click(function(){
$('.pop-tc .topbox').hide();
$('.pop-tc .mask').hide();
});
//商品列表点击添加购物车
$('.splist li').click(function(){
$.get("{:url('index/index/cart')}",{id:$(this).data("id"),act:"add"}, function(res){
shujuchuli(res.data);
});
});
//加减购物车数量
function jiajian(id,num){
$.get("{:url('index/index/cart')}",{id:id,num:num}, function(res){
shujuchuli(res.data);
});
}
//清空购物车
function clearcar(){
$.get("{:url('index/index/cart')}",{act:'delall'}, function(res){
shujuchuli(res.data);
});
}
function shujuchuli(res){
$("#carlist").html(res.html);
$("#allnum").html(res.allnum);
$("#alljiage").html(res.alljiage);
if(res.allnum>0){
$('.pop-tc').show();
}else{
$('.pop-tc').hide();
$('.topbox').hide();
$('.mask').hide();
}
}
发表评论 取消回复