>  기사  >  CMS 튜토리얼  >  Imperial ECMS는 장바구니를 새로 고치거나 추가하지 않고 어떻게 AJAX를 구현합니까?

Imperial ECMS는 장바구니를 새로 고치거나 추가하지 않고 어떻게 AJAX를 구현합니까?

angryTom
angryTom원래의
2019-11-15 13:52:352022검색

Imperial ECMS는 장바구니를 새로 고치거나 추가하지 않고 어떻게 AJAX를 구현합니까?

Empire ECMS는 새로 고치지 않고 장바구니에 추가하기 위해 AJAX를 어떻게 구현합니까?

새로 고침 없이 장바구니에 추가하기 위해 AJAX를 구현하는 Empire ECMS의 주요 단계는 다음과 같습니다.

1. 쇼핑몰 콘텐츠 템플릿을 수정하고 헤더에 추가합니다. 다음 코드:

<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>

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);
        }
    })
}

넷째, 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;
 ?>

이 시점에서, Empire ECMS AJAX 새로 고침 추가 쇼핑 없이 자동차의 기능이 끝났습니다.

추천 튜토리얼: Empire CMS Tutorial

위 내용은 Imperial ECMS는 장바구니를 새로 고치거나 추가하지 않고 어떻게 AJAX를 구현합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.