Wie implementiert Empire ECMS AJAX, ohne es zu aktualisieren und in den Warenkorb zu legen?
Empire ECMS implementiert AJAX ohne Aktualisierung und Hinzufügen zum Warenkorb. Die Hauptschritte der Warenkorbmethode sind wie folgt:
1. Ändern Sie die Mall-Inhaltsvorlage und fügen Sie den folgenden Code zum Kopf hinzu:
<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, fügen Sie den Warenkorbteil hinzu und ändern Sie ihn in den folgenden Code:
<a href="#ecms" onclick="AddProduct([!--classid--],[!--id--]);">加入购物车</a>
3. Wie für Die JQuery-Datei ist mit den Versionen 1.3 und 1.4 kompatibel und kann selbst heruntergeladen werden. Der Quellcode der Datei addBuyCar.js 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); } }) }
Viertens: Fügen Sie den Handler e/template/ShopSys/addBuyCar.php hinzu. Der Quellcode 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 die Empire ECMS AJAX-Funktion zum Hinzufügen zum Warenkorb ohne Aktualisierung abgeschlossen.
Empfohlenes Tutorial: Empire CMS Tutorial
Das obige ist der detaillierte Inhalt vonWie implementiert Imperial ECMS AJAX, ohne es zu aktualisieren und in den Warenkorb zu legen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!