下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国ECMS怎样实现AJAX无刷新加入购物车?

419 2021-03-12 12:37:58

收藏
ajax在数据交互中用户体验非常好,在一些不需要刷新页面的情况下,使用ajax体验远远好于刷新页面。那么,帝国ECMS在做商城功能时,怎样实现AJAX无刷新加入购物车呢?
 
1、修改商城内容模板,头部加入如下代码:
<script type="text/javascript" src="/static/js/jquery.js"></script>
<script type="text/javascript" src="/static/js/addBuyCar.js"></script>
<script type="text/javascript">
var newsurl='<?=$public_r[newsurl]?>';
</script>

2、修改商城内容模板,加入购物车部分修改成如下代码:
代码如下:
<a href="#ecms" onclick="AddProduct([!--classid--],[!--id--]);">加入购物车</a>

3、jquery文件,兼容1.3和1.4版本,自行下载。文件addBuyCar.js源代码如下:
代码如下:
function AddProduct(classid,id) {
    $.ajax({
        type: "post",
        url: newsurl+"e/template/ShopSys/addBuyCar.php",
        data:"classid="+classid+"&id="+id,
        dataType: "json",
        success: function (json) {
            alert(json.msg);
        }
    })
}

4、创建无刷新加入购物车接口文件,目录如下
/e/template/ShopSys/addBuyCar.php

5、接口文件源代码如下
<?php
require("../../class/connect.php");
require("../../class/db_sql.php");
require("../../data/dbcache/class.php");
require("../../class/ShopSysFun.php");
$link=db_connect();
$empire=new mysqlquery();
$classid=(int)$_POST['classid'];
$id=(int)$_POST['id'];
function json_AddBuycar($classid,$id){
global $class_r,$empire,$dbtbpre,$public_r;
$classid=(int)$classid;
$id=(int)$id;
if(empty($classid)||empty($id)||empty($class_r[$classid][tbname]))
{
    return json_encode(array('msgid'=>1,'msg'=>'此商品不存在'));
}
//验证产品是否存在
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where classid='$classid' and id='$id' limit 1");
if(!$num)
{
    return json_encode(array('msgid'=>1,'msg'=>'此商品不存在'));
}
$record="!";
$field="|";
$productid=$classid.",".$id;
$buycar=getcvar('mybuycar');
//重复
if(strstr($buycar,"|".$productid."|"))
{
    $pr=explode("|".$productid."|",$buycar);
    $pr1=explode("!",$pr[1]);
    $oldbuycar="|".$productid."|".$pr1[0]."!";
    //数量
    $pr1[0]=ReturnBuycarProductNum($pr1[0]);
    if(empty($pr1[0]))
    {
        $pr1[0]=1;
    }
    $newnum=$pr1[0]+1;
    $newbuycar="|".$productid."|".$newnum."!";
    $buycar=str_replace($oldbuycar,$newbuycar,$buycar);
}
else
{
    //只存放一个
    if($public_r['buycarnum']==1)
    {
        $buycar='';
    }
        $buycar.="|".$productid."|1!";
    }
    $re=SetBuycar($buycar);
    if($re)
    {
        return json_encode(array('msgid'=>2,'msg'=>'商品加入购物车成功'));
    }
}
echo json_AddBuycar($classid,$id);
db_close();
$empire=null;
?>

这样,我们就实现了帝国cms商城系统ajax无刷新加入购物车的功能了。
 

注意

非专业人员操作前务必备份数据。

本文地址:https://xzo.com.cn/develop/empire/690.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国CMS点击指定图片放大功能怎么做(jQuery)
帝国CMS点击指定图片放大功能怎么做(jQuery)

对于存在大图的站点而言,不能将图片放大无疑是一种功能上的缺陷。那么,帝国CM...

8 1522
帝国cms百度推送插件怎样将http改成https
帝国cms百度推送插件怎样将http改成https

帝国cms百度推送插件流传十分广,但有些https站点却推送了http的链接,这无疑十...

9 763
帝国cms怎样展示会员总数与最新注册的会员名称?
帝国cms怎样展示会员总数与最新注册的会员名称?

如果网站会员数量较多,展示会员总数与最新注册会员名可以有效提升用户留存。...

3 470
帝国cms一级栏目一直显示本栏目暂无新增信息怎么办?
帝国cms一级栏目一直显示本栏目暂无新增信息怎么办?

今天有客户联系鸥哥,说网站一级栏目下有4个子栏目,每个子栏目都是有信息的,但...

1 426
帝国CMS+jquery简单实现点击图片进入下一页功能
帝国CMS+jquery简单实现点击图片进入下一页功能

使用js实现点击按钮进入下一个内容页分页,用jQuery做肯定是最快捷的方式,因此...

1 468
帝国CMS列表页面list.var怎样将年月日时间分开调用?
帝国CMS列表页面list.var怎样将年月日时间分开调用?

很多时候,出于美观或者个性化的需求,我们需要将帝国cms的发布时间切割为年月...

7 986
帝国cms怎样分享到微信好友、朋友圈带图片与简介
帝国cms怎样分享到微信好友、朋友圈带图片与简介

微信作为我们的国民app流量很大,简单的js分享往往只有一个二维码或者链接,但...

8 492
高危预警:帝国cms for Excel批量导入插件未验证后台权限
高危预警:帝国cms for Excel批量导入插件未验证后台权限

帝国cms for Excel批量导入插件高危预警:未验证后台权限 。...

3 240
推荐插件
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 530
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1385
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 867
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 531
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 634
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1226
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 502
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 1170
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入