Rumah > Tutorial CMS > Empayar CMS > 帝国ECMS怎么实现AJAX无刷新加入购物车

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

angryTom
Lepaskan: 2019-11-15 13:52:35
asal
2246 orang telah melayarinya

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

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

帝国ECMS实现AJAX无刷新加入购物车的方法主要步骤如下:

一、修改商城内容模板,头部加入如下代码:

<script type="text/javascript" src="[!--news.url--]skin/default/js/jquery.js"></script>
<script type="text/javascript" src="[!--news.url--]skin/default/js/addBuyCar.js"></script>
<script type="text/javascript">
    var newsurl=&#39;<?=$public_r[newsurl]?>&#39;;
</script>
Salin selepas log masuk

二、修改商城内容模板,加入购物车部分修改成如下代码:

<a href="#ecms" onclick="AddProduct([!--classid--],[!--id--]);">加入购物车</a>
Salin selepas log masuk

三、至于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);
        }
    })
}
Salin selepas log masuk

四、加入处理程序e/template/ShopSys/addBuyCar.php,其源代码如下:

<?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();
</p> <p>//$_POST $classid=(int)$_POST[&#39;classid&#39;];
 $id=(int)$_POST[&#39;id&#39;];
</p> <p>//add function 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(&#39;msgid&#39;=>1, &#39;msg&#39;=>&#39;此商品不存在&#39;));
    }
    //验证产品是否存在 $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where classid=&#39;$classid&#39; and id=&#39;$id&#39; limit 1");
    if(!$num) {
        return json_encode(array(&#39;msgid&#39;=>1, &#39;msg&#39;=>&#39;此商品不存在&#39;));
    }
    $record="!";
    $field="|";
    $productid=$classid.",".$id;
    $buycar=getcvar(&#39;mybuycar&#39;);
    //重复 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[&#39;buycarnum&#39;]==1) {
            $buycar=&#39;&#39;;
        }
        $buycar.="|".$productid."|1!";
    }
    $re=SetBuycar($buycar);
    if($re) {
        return json_encode(array(&#39;msgid&#39;=>2, &#39;msg&#39;=>&#39;商品加入购物车成功&#39;));
    }
}
echo json_AddBuycar($classid, $id);
 db_close();
 $empire=null;
 ?>
Salin selepas log masuk

至此,就完成了帝国ECMS  AJAX无刷新加入购物车的功能了。

推荐教程:帝国CMS教程

Atas ialah kandungan terperinci 帝国ECMS怎么实现AJAX无刷新加入购物车. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan