返回顶部
首页 > 资讯 > CMS >ecshop二次开发之购物车分析
  • 557
分享到

ecshop二次开发之购物车分析

ecshop二次开发购物车 2022-06-12 02:06:40 557人浏览 薄情痞子
摘要

本文实例讲述了ecshop二次开发之购物车分析。分享给大家供大家参考。具体分析如下: 一、保存用户购物车数据 ECSHOP的购物车数据,是以Session 方式存储在数据库里,并在Session结束后 ,Distroy

本文实例讲述了ecshop二次开发之购物车分析。分享给大家供大家参考。具体分析如下:

一、保存用户购物车数据

ECSHOP的购物车数据,是以Session 方式存储在数据库里,并在Session结束后 ,Distroy 掉,解决方法是:

1.购物车内容读取方式. 更改登陆后购物车获取条件 "Session 单独方式"为 Session +用户名 ,该修改位于Lib_order 下 function get_cart_Goods();

2. 购物车内容记录方式,未登陆方式依然是Session , 用户登陆后,自动UPdate Cart 一次,将同一UserID下购物车内数据不是当前Session的Update到当前Session , 并将当前Session 下UserID为0的部分(未登陆情况下,Userid是0),UpdateID到当前UserID ,该修改位于 Flow.PHP 下面function flow_update_cart($arr)

3.更改退出时,自动Clear Cart的部分,将Distroy 当前Session 的内容,更改为Distroy 当前Session 下 User ID为0的部分。 该修改位于:Includes/cls_session.php ,     function destroy_session() 部分

说明:这种情况下就是游客关闭浏览器后,购物车清空, 注册用户购物车永久保存, 可能会对服务器造成轻微压力,主要取决于用户的数量,如果数量较多数据服务器压力较大,可以通过程序,自动清理超过一定时间段未登陆的User Cart (或者是额外增加一个数据,来标示加入购物车的时间,根据此时间判断是否自

动清理).

二、读取购物车数据

1.购物车内容读取方式. 更改登陆后购物车获取条件 "Session 单独方式"为 Session +用户名 ,该修改位于Lib_order 下 function get_cart_goods();

具体更改代码部分:


复制代码代码如下:function get_cart_goods()

{

$goods_list = array();

$total = array(

'goods_price' => 0, // 本店售价合计(有格式)

'market_price' => 0, // 市场售价合计(有格式)

'saving' => 0, // 节省金额(有格式)

'save_rate' => 0, // 节省百分比

'goods_amount' => 0, // 本店售价合计(无格式)

);</p> <p>$uid=$_SESSION['user_id'];

if($uid==0){

$sql = "SELECT *, IF(parent_id, parent_id, goods_id) AS pid " .

" FROM " . $GLOBALS['ecs']->table('cart') . " " .

" WHERE session_id = '" . SESS_ID . "' AND rec_type = '" . CART_GENERAL_GOODS . "'" .

" ORDER BY pid, parent_id";}else{

$sql = "SELECT *, IF(parent_id, parent_id, goods_id) AS pid " .

" FROM " . $GLOBALS['ecs']->table('cart') . " " .

" WHERE (user_id='".$uid."' OR session_id = '" . SESS_ID . "') AND rec_type = '" . CART_GENERAL_GOODS . "'" .

" ORDER BY pid, parent_id";

}

$res = $GLOBALS['db']->query($sql);

//........后面不变

2. 购物车内容记录方式,未登陆方式依然是Session , 用户登陆后,自动UPdate Cart 一次,将同一UserID下购物车内数据不是当前Session的Update到当前Session , 并将当前Session 下UserID为0的部分(未登陆情况下,Userid是0),UpdateID到当前UserID ,该修改位于 Flow.php 下面function flow_update_cart($arr)   


复制代码代码如下:function flow_update_cart($arr)

{

foreach ($arr AS $key => $val)

{

$val = intval(make_semiangle($val));

if ($val <= 0)

{

continue;

}</p> <p> $sql = "SELECT `rec_id`, `goods_id`, `goods_attr_id`, `extension_code` FROM" .$GLOBALS['ecs']->table('cart').

" WHERE rec_id='$key' AND (session_id='" . SESS_ID . "' OR user_id='".$_SESSION['user_id']."')";</p> <p> $goods = $GLOBALS['db']->getRow($sql);

// 更新购物车Session & user id

$sql ="UPDATE " .$GLOBALS['ecs']->table('cart')." SET session_id='" . SESS_ID . "',user_id='".$_SESSION['user_id']."' where rec_id='".$goods['rec_id']."'";

$g = $GLOBALS['db']->query($sql);

$sql = "SELECT g.goods_name, g.goods_number ".

"FROM " .$GLOBALS['ecs']->table('goods'). " AS g, ".

$GLOBALS['ecs']->table('cart'). " AS c ".

"WHERE g.goods_id = c.goods_id AND c.rec_id = '$key'";

//...........................后面不变

在用户登陆后,Flow.php打开购物车地方,需要调用一次自动更新购物车,

在$cart_goods = get_cart_goods();

之后增加如下代码


复制代码代码如下:for($i=0; $i<count($cart_goods['goods_list']);$i++){

$a[$cart_goods['goods_list'][$i]['rec_id']]=$cart_goods['goods_list'][0]['goods_number'];}

if(count($a)>0){flow_update_cart($a);}

第三项自己琢磨吧,懒得去翻那代码了,改掉SQL语句中session_id部分为user_id就行了

希望本文所述对大家的ecshop二次开发有所帮助。

--结束END--

本文标题: ecshop二次开发之购物车分析

本文链接: https://lsjlt.com/news/32442.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ecshop二次开发之购物车分析
    本文实例讲述了ecshop二次开发之购物车分析。分享给大家供大家参考。具体分析如下: 一、保存用户购物车数据 ECSHOP的购物车数据,是以Session 方式存储在数据库里,并在Session结束后 ,Distroy ...
    99+
    2022-06-12
    ecshop 二次开发 购物车
  • ecshop二次开发之表结构分析
    本文实例讲述了ecshop二次开发之表结构分析。分享给大家供大家参考。具体如下: ecshop二次开发首先要弄清楚各个数据库表的内容和数据库表之间的关系,这样有助于ecshop二次开发! 下面我就介绍一下 ecshop数...
    99+
    2022-06-12
    ecshop 二次开发 表结构 分析
  • ecshop二次开发之常用函数汇总
    本文详细汇总了ecshop二次开发中常用的函数。分享给大家供大家参考。具体如下: 最近进行ecshop的二次开发,整理了一部分的函数,另外在ecshop论坛上面也发现了很多函数说明,整理汇总如下,供大家参考。 所有函数功...
    99+
    2022-06-12
    ecshop 二次开发 常用函数 汇总
  • ecshop二次开发怎么优化
    要优化ECShop二次开发,可以考虑以下几个方面:1. 数据库优化:对数据库的查询语句进行优化,使用索引、分表、分区等技术来提升查询...
    99+
    2023-08-26
    ecshop
  • ECSHOP二次开发的技巧有哪些
    这篇文章给大家分享的是有关ECSHOP二次开发的技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言:ECSHOP是一套完整的网络商店解决方案,包括前台的商品展示、购物流程和强大易用的后台管理。由于 ec...
    99+
    2023-06-08
  • ecshop二次开发 购物时为每件商品添加备注信息的修改方法
    目标: 用户在选购商品加入购物车前可以为商品添加备注信息 加入购物车后可以在购物车查看备注信息 店主在查看订单时可以看到用户为商品添加的备注信息 用户在个人中心中可以看到商品的备注信息 目标一:   打开ecshop/g...
    99+
    2022-06-12
    商品 备注信息
  • 分享几个Ecshop中二次开发的常见方法
    收货人信息的省市区设成非必选项 一般面向国外用户的ECSHOP商城,可能会有这方面的需求:【将Ecshop中收货人信息的省市区设成非必选项】,其实也就是只留一个“请选择国家”的下拉选择框。 修改相...
    99+
    2022-06-12
    Ecshop 二次开发
  • Android购物车项目快速开发
    购物车项目,业务需要实现了一个购物车的项目,简单的了解下实现逻辑:数据计算等是在Adapter中计算出来的,通过在Adapter中计算出来的数据就可以回调到Activity中进...
    99+
    2022-06-06
    Android
  • JavaWeb购物车项目如何开发
    这篇文章主要介绍“JavaWeb购物车项目如何开发”,在日常操作中,相信很多人在JavaWeb购物车项目如何开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaWeb购物车项目如何开发”的疑惑有所帮助!...
    99+
    2023-07-02
  • java web开发之购物车功能实现示例代码
    之前没有接触过购物车的东东,也不知道购物车应该怎么做,所以在查询了很多资料,总结一下购物车的功能实现。查询的资料,找到三种方法:用cookie实现购物车;用session实现购物车;用cookie和数据库(购物车信息持久化)实现购物车;分析...
    99+
    2023-05-30
    java web 购物车
  • JavaWeb购物车项目开发实战指南
    目录一、项目前提二、数据库的创建三、eclipse进行创建包和类:四、主要实现功能1、购物车用户登录2、商品显示3、购物车添加&商品总数和价格的计算总结一、项目前提 1、购物...
    99+
    2024-04-02
  • Python实现购物车功能的方法分析
    本文实例讲述了Python实现购物车功能的方法。分享给大家供大家参考,具体如下: 1、程序的源代码如下: salary = input('input your salary:') if salary.i...
    99+
    2022-06-04
    购物车 功能 方法
  • Ecshop二次开发之自定义库文件和模板数据调用实例
    本文实例讲述了Ecshop二次开发之自定义库文件和模板数据调用方法。分享给大家供大家参考。具体方法如下: Smarty的标签非常多,也比较繁琐,所以Ecshop使用了精简版的Smarty,其中用到的Smarty模板语法:...
    99+
    2022-06-12
    Ecshop 二次开发 自定义库文件 模板数据调用
  • 微信小程序购物车功能如何开发
    这篇“微信小程序购物车功能如何开发”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序购物车功能如何开发”文章吧。ind...
    99+
    2023-06-26
  • 如何使用Redis和Java开发购物车功能
    如何使用Redis和Java开发购物车功能购物车是电商网站中常见的功能之一,它允许用户将商品保存在一个临时的容器中,方便用户浏览、编辑、结算和下单。购物车功能的实现离不开数据的存储和管理,Redis作为一种高性能的内存数据库,非常适合用来实...
    99+
    2023-10-22
    Java redis 购物车
  • PHP电商系统开发指南购物车设计
    购物车设计:数据库设计:存储用户 id、产品 id、数量和会话 id。php 代码:提供操作购物车功能,包括添加、更新和删除产品。实战案例:使用 addtocart()、updat...
    99+
    2024-05-21
    php 电商系统
  • html5小程序飞入购物车的示例分析
    这篇文章给大家分享的是有关html5小程序飞入购物车的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。思考如果实现 ? 超级简单的!无论是小程序还是h6飞入购物车无非就是 平抛 ,或者是 上抛 两种情况,对...
    99+
    2023-06-09
  • Android App开发实战项目之购物车(附源码 超详细必看)
    需要源码请点赞关注收藏后评论区留言~~~ 一、需求描述 电商App的购物车可谓是司空见惯了,可以知道购物车除了底部有一个结算行,其余部分主要是已加入购物车的商品列表,然后每个商品左边是商品小图,右边是商品名称以及价格,第一次进入购物车...
    99+
    2023-09-02
    android 数据库 android studio java 学习
  • 从零开始:PHP与MySQL购物车功能的开发指南
    《从零开始:PHP与MySQL购物车功能的开发指南》 在如今这个电子商务盛行的时代,网上购物已经成为一种便捷快捷的消费方式。而网上购物车作为消费者加入商品的临时区域,成为了电商网站中不...
    99+
    2024-03-15
    mysql php 购物车
  • 解析Sentry Relay 二次开发调试
    目录开发构建和运行功能测试LintingPython和C-ABI开发ServerSSL与Sentry一起使用发布管理变更日志说明更多开发 要构建 Relay,我们需要最新的稳定版 R...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作