B2C商城
使用手册
设置模块
模板设置
数据库管理
插件管理
积分管理
小程序直播
第三方账号注册流程
网站模块
商品模块
订单管理模块
供应商模块
数据模块
微商城模块
小程序&APP模块
常见问题
其他
API接口
用户中心接口
商品相关接口
开发手册
开发教程
基础教程
视频教程
TP视频教程
加入购物车原理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | TPshop很多地方 如 ajax分页,帅选,加载更, 加入购物车等。。。 都把前端几十上百行的js组装代码缩减成了一行核心代码,简介易懂。 点击 加入购物车时 我们发现其实调用了 AjaxAddCart(104,1,0); 方法 以上图可以看出TPshop 在选择规格和数量 加入购物车时 ajax post 了 以下几个属性 goods_id 104 // 商品id goods_num 2 // 购买数量 goods_spec[内存] 101 //商品规格 内存 = 101,其中101 数据库中表示内存 goods_spec[颜色] 56 // 颜色 56 在TPshop数据库中表示 白色 这些参数 提交到后台php 处理。 我们可以发现TPshop 做法很简单, 不像其他商城 通过js 去获取 内存 获取颜色 获取数量 然后js 拼接 成一大串代码 再用ajax去提交到后台PHP, 而在TPshop里面只用了一行js 代码 就解决了这些所有问题,后后台php保持不变 我们看看下面的 店家加入购物车方法 $.ajax({ type : "POST" , url: "/index.php?m=Home&c=Cart&a=ajaxAddCart" , data : $( '#buy_goods_form' ).serialize(), // 重点在这里将商品表单序列化提交 dataType: 'json' , success: function (data){ // 成功之后返回 }); 可以看出TPshop提交购物车的时候 采用了 $( '#buy_goods_form' ).serialize(), // 重点在这里将商品表单序列化提交 不管多么复杂的商品规格属性都一句话整个表单提交了 而后台PHP接收的代码 跟平时一样简单没有任何区别 后台控制器代码 /** * ajax 将商品加入购物车 */ function ajaxAddCart() { $goods_id = I( "goods_id" ); // 商品id $goods_num = I( "goods_num" ); // 商品数量 $goods_spec = I( "goods_spec" ); // 商品规格 $result = $this ->cartLogic->addCart( $goods_id , $goods_num , $goods_spec , $this ->session_id, $this ->user_id); // 将商品加入购物车 exit (json_encode( $result )); } |