帝国ECMS实现AJAX无刷新加入购物车的方法
<p>帝国ECMS实现AJAX无刷新加入购物车的方法主要步骤如下:</p>
<p>
一、修改商城内容模板,头部加入如下代码:</p>
<p>
</p>
<div>
代码如下:</div>
<div id="phpcode4">
<script type="text/javascript" src="[!--news.url--]skin/default/js/jquery.js"></script><br>
<script type="text/javascript" src="[!--news.url--]skin/default/js/addBuyCar.js"></script><br>
<script type="text/javascript"><br>
var newsurl='<?=$public_r?>';<br>
</script></div>
<br><span> </span><br><span> </span><br><span>二、修改商城内容模板,加入购物车部分修改成如下代码:</span>
<p>
</p>
<p>
</p>
<div>
代码如下:</div>
<div id="phpcode5">
<a href="#ecms" onclick="AddProduct([!--classid--],[!--id--]);">加入购物车</a></div>
<br><span> </span><br><span> </span><br><span>三、至于jquery文件,兼容1.3和1.4版本,自行下载。文件addBuyCar.js源代码如下:</span>
<p>
</p>
<p>
</p>
<div>
代码如下:</div>
<div id="phpcode6">
function AddProduct(classid,id) {<br>
$.ajax({<br>
type: "post",<br>
url: newsurl+"e/template/ShopSys/addBuyCar.php",<br>
data:"classid="+classid+"&id="+id,<br>
dataType: "json",<br>
success: function (json) {<br>
alert(json.msg);<br>
}<br>
})<br>
}</div>
<p>
</p>
<p>
四、加入处理程序e/template/ShopSys/addBuyCar.php,其源代码如下:</p>
<p>
</p>
<div>
代码如下:</div>
<div id="phpcode7">
<?php<br>
require("../../class/connect.php");<br>
require("../../class/db_sql.php");<br>
require("../../data/dbcache/class.php");<br>
require("../../class/ShopSysFun.php");<br>
$link=db_connect();<br>
$empire=new mysqlquery();</p> <p>//$_POST<br>
$classid=(int)$_POST['classid'];<br>
$id=(int)$_POST['id'];</p> <p>//add function<br>
function json_AddBuycar($classid,$id){<br>
global $class_r,$empire,$dbtbpre,$public_r;<br>
$classid=(int)$classid;<br>
$id=(int)$id;<br>
if(empty($classid)||empty($id)||empty($class_r[$classid]))<br>
{<br>
return json_encode(array('msgid'=>1,'msg'=>'此商品不存在'));<br>
}<br>
//验证产品是否存在<br>
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid]." where classid='$classid' and id='$id' limit 1");<br>
if(!$num)<br>
{<br>
return json_encode(array('msgid'=>1,'msg'=>'此商品不存在'));<br>
}<br>
$record="!";<br>
$field="|";<br>
$productid=$classid.",".$id;<br>
$buycar=getcvar('mybuycar');<br>
//重复<br>
if(strstr($buycar,"|".$productid."|"))<br>
{<br>
$pr=explode("|".$productid."|",$buycar);<br>
$pr1=explode("!",$pr);<br>
$oldbuycar="|".$productid."|".$pr1."!";<br>
//数量<br>
$pr1=ReturnBuycarProductNum($pr1);<br>
if(empty($pr1))<br>
{<br>
$pr1=1;<br>
}<br>
$newnum=$pr1+1;<br>
$newbuycar="|".$productid."|".$newnum."!";<br>
$buycar=str_replace($oldbuycar,$newbuycar,$buycar);<br>
}<br>
else<br>
{<br>
//只存放一个<br>
if($public_r['buycarnum']==1)<br>
{<br>
$buycar='';<br>
}<br>
$buycar.="|".$productid."|1!";<br>
}<br>
$re=SetBuycar($buycar);<br>
if($re)<br>
{<br>
return json_encode(array('msgid'=>2,'msg'=>'商品加入购物车成功'));<br>
}<br>
}<br>
echo json_AddBuycar($classid,$id);<br>
db_close();<br>
$empire=null;<br>
?></div>
<p>
</p>
<p>
至此,问题搞定!</p>
頁:
[1]