帝国CMS商城代码解析1 – 购物车cookie

02 12 条评论

题外:
每天博客也没什么好写的,如果把一个系统用的透透彻彻那就是进步了,如果内部结构了解的透透彻彻了应该是成长了,如果是分析的透透彻彻那应该是上一个层次了,trylife现在做第二步,并向第三步骤发展;希望写出来的内容同样对大家有帮助,另外一系列的内容比较容易集中探讨问题,文章水平比较烂,有什么不足的地方请多指教,有什么要关于这个系列《帝国CMS购物车代码解析》要讨论我们可以在评论里讨论,当然有什么好问题更欢迎,本身博客要交换,更多是为浏览者而存在,也许你的问题就是下一篇博文呢。

帝国CMS商城前台相关文件

e/class/ShopSysFun.php 商城核心函数文件
e/ShopSys/buycar/index.php 商城购物车
e/ShopSys/order/index.php 订单信息填写页
e/ShopSys/SubmitOrder/index.php 订单确认提交页
e/ShopSys/ListDd/index.php 前台会员查看订单列表
e/ShopSys/ShowDd/index.php 前台会员查看订单详细

e/template/ShopSys/buycar.php 商城购物车模板
e/template/ShopSys/order.php 订单信息填写页模板
e/template/ShopSys/SubmitOrder.php 订单确认提交页模板
e/template/ShopSys/ListDd.php 前台会员查看订单列表模板
e/template/ShopSys/ShowDd.php 前台会员查看订单详细模板

增加订单入口链接

/e/enews/?enews=AddBuycar&classid=[!--classid--]&id=[!--id--]

增加订单函数

AddBuycar($classid,$id)
$classid 为栏目ID
$id 为文章ID

购物车cookie声明与读取

声明: SetBuycar($buycar) e/class/ShopSysFun.php
读取: $buycar=getcvar(‘mybuycar’);
帝国CMScookie操作函数查看《esetcookie() getcvar() -帝国CMS cookie 操作函数》

增加订单系统流程简介

1.从入口链接GET得到栏目ID和内容ID
2.判断信息在数据表中是否存在
3.设置购物车cookie
4.跳转购物车地址e/ShopSys/buycar/index.php
5.购物车(e/ShopSys/buycar/index.php)将会读取COOKIE分离后得到栏目ID,内容ID,购买数量

购车COOKIE格式

一种商品:|栏目ID,内容ID|购买数量!
二种商品:|栏目ID,内容ID|购买数量!|栏目ID,内容ID|购买数量!
三种商品:|栏目ID,内容ID|购买数量!|栏目ID,内容ID|购买数量!|栏目ID,内容ID|购买数量!
备注:查看购物车cookie可以在e/ShopSys/buycar/index.php中找到$buycar=getcvar(‘mybuycar’);修改为echo $buycar=getcvar(‘mybuycar’); 打开购物车就可以看到购物车COOKIE了

帝国CMS商城购物车 cookie开发示例:在购物车直接删除某件商品

分析:根据购物车COOKIE的格式,我们得到栏目ID,内容ID,购买数量(不一定是必须的),之后组合格式,删除COOKIE中的此段内容,重新打开购物车/或刷新购物车页面,这样就可以不用调整购物车,二直接删除某件商品;

要点:
1.需要一个PHP脚本页从用户删除商城COOKIE中删除提交的商品
2.为了直观方便体验好,还是使用AJAX效果(trylife使用的是JQuery),所以又下面2条
3.给购物车商品行加个ID格式为:product-栏目ID-信息ID-购买数量
3.商品行每行增加一个删除按钮
3.一个ajax函数用于处理删除动作

文件修改与增加:
修改文件:e/template/ShopSys/buycar.php 商城购物车模板
增加问津:e/trylife/ShopSys-demo/del-product.php 删除单个商品处理文件

最终效果截图:

示例下载与安装:
1.点击下载帝国CMS商城购物车 AJAX删除商品插件示例
2.解压后上传trylife目录到e目录
3.buycar.php上传覆盖到e/template/ShopSys/buycar.php 或对照修改

——————————————Exp.line———————————————
感谢凡姐关于JS的问题有问必答;各位朋友有关于帝国CMS商城的问题解析和本文的问题欢迎在本文下评论。《帝国CMS商城代码解析》下面的文章要写什么还是需要大家的方向标滴

esetcookie() getcvar() -帝国CMS cookie 操作函数

28

esetcookie()

函数:esetcookie()
功能:设置cookie / 函数向客户端发送一个 HTTP cookie 主要带了帝国CMS前后台cookie前缀 path 等用起来方便
位置:帝国CMS e/class/connect.php
版本:6.5

esetcookie($var,$val,$life=0,$ecms=0)

$var : 必填 cookie名
$val : 必填 cookie值
$life : 选填 过期unix时间戳
$ecms : 选填 0 前台 1 后台 默认0

getcvar()

函数:getcvar()
功能:返回cookie / 配合esetcookie()使用 事半功倍
位置:帝国CMS e/class/connect.php
版本:6.5

getcvar($var,$ecms=0)

$var : 必填 cookie名
$ecms : 选填 0 前台 1 后台 默认0