Die wichtigsten Schritte für Empire ECMS zur Implementierung des AJAX-freien Hinzufügens zum Warenkorb sind wie folgt:
1. Ändern Sie die Mall-Inhaltsvorlage und fügen Sie den folgenden Code hinzu zum Kopf:
Der Code lautet wie folgt:
<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='<?=$public_r[newsurl]?>'; </script>
2. Ändern Sie die Mall-Inhaltsvorlage und fügen Sie den Warenkorbteil dem folgenden Code hinzu:
Der Code lautet wie folgt:
<a href="#ecms" onclick="AddProduct([!--classid--],[!--id--]);">加入购物车</a>
Empfohlene Studie „ Empire cms-Tutorial 》
3. Die JQuery-Datei ist mit den Versionen 1.3 und 1.4 kompatibel und kann von heruntergeladen werden selbst. Der Quellcode der Datei addBuyCar.js lautet wie folgt:
Der Code lautet wie folgt:
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. Fügen Sie den Handler e/template/ShopSys/addBuyCar hinzu .php, der Quellcode lautet wie folgt:
Der Code lautet wie folgt:
<?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['classid']; $id=(int)$_POST['id'];</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('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; ?>
An diesem Punkt ist das Problem gelöst!
Das obige ist der detaillierte Inhalt vonSo implementieren Sie das Hinzufügen von AJAX zum Warenkorb ohne Aktualisierung mit Imperial ECMS in einem Schritt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!