1、下载json2.js
(http://download.csdn.net/detail/schenker/2220609)
2、将common.js文件的35行更改:
源代码:
Ajax.call('flow.php?step=add_to_cart', 'goods=' + $.toJSON(goods), addToCartResponse, 'POST', 'JSON');
更改后:
Ajax.call('flow.php?step=add_to_cart', 'goods=' + objToJSONString(goods), addToCartResponse, 'POST', 'JSON');
3、goods.dwt代码
<a href="#" onclick="javascript:addToCart({$goods.goods_id})"><button>添加到购物车</button></a>
<a href="#" onclick="javascript:addToCart({$goods.goods_id},0,'now')"><button>立即购买</button></a>
<script>
//add to the cart
function addToCart(goods_id,parent_id,buyType) {
var goods={'number':1,'quick':0,'spec_arr':[],'goods_id':goods_id};
clickType=buyType || false;
if($('.attr-form').length){
goods.spec=getAttrValue('array');
if($('#buy_num').val()){
goods.number=$('#buy_num').val();
}
goods.quick=1;
}
goods.parent = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);
$.post(
'flow.php?step=add_to_cart',
{'goods':JSON.stringify(goods)},
addToCartResponse,
'JSON');
return false;
}
//response the cart message
function addToCartResponse(data) {
if (data.error > 0)
{
// 如果需要缺货登记,跳转
if (data.error == 2)
{
if (confirm(data.message))
{
location.href = 'user.php?act=add_booking&id=' + data.goods_id + '&spec=' + data.product_spec;
}
}
// 没选规格,弹出属性选择框
else if (data.error == 6)
{
alert('请选择商品属性和规格');
//openSpeDiv(data.message, data.goods_id, data.parent);
}
else
{
alert(data.message);
}
}
else
{
var cartInfo = document.getElementById('ECS_CARTINFO');
var cart_url = 'flow.php?step=cart';
if (cartInfo)
{
cartInfo.innerHTML = data.content;
}
if (data.one_step_buy == '1')//如果后台开启了一步购物,直接跳转到结算页面
{
location.href = cart_url;
}
//是否立即购买
else if(clickType=='now'){
location.href = 'flow.php?step=checkout';
}
else
{
switch(data.confirm_type)
{
case '1' :
if (confirm(data.message)) location.href = cart_url;
break;
case '2' :
if (!confirm(data.message)) location.href = cart_url;
break;
case '3' :
location.href = cart_url;
break;
default :
break;
}
}
}
}
</script>
4、点击添加到购物车按钮。
5、进入购物车页面。
(http://localhost/myecshop/flow.php)
6、成功
7、注意:
第1、2步是为了解决transport.js和jquery的冲突