修改flow.php
查找$_CFG['one_step_buy']换成下面,目的js可以控制清空购物车
/* 更新:如果是一步购物,先清空购物车 */
if ( ($_CFG['one_step_buy'] == '1') || !empty($goods->one_step_buy) )
{
clear_cart();
}
------
修改根目录下面的js/commom.js
-----------------
增加以下代码,其实是从原来的addtocart小改一下而来的,呵呵;应急用
然后在addtocart出现的地方也放上它 buyOneStep,参数相同就可以直达只购买一件商品了,2.7版本测试过
------------------
/* *
* 一步购物
*/
function buyOneStep(goodsId, parentId)
{
var goods = new Object();
var spec_arr = new Array();
var fittings_arr = new Array();
var number = 1;//只用一个
var formBuy = document.forms['ECS_FORMBUY'];
var quick = 0;
// 检查是否有商品规格
if (formBuy)
{
spec_arr = getSelectedAttributes(formBuy);
quick = 1;
}
goods.quick = quick;
goods.spec = spec_arr;
goods.one_step_buy = 1;//要求清空cart
goods.goods_id = goodsId;
goods.number = number;
goods.parent = (typeof(parentId) == "undefined") ? 0 : parseInt(parentId);
Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), buyOneStepForCheckout, 'POST', 'JSON');
}
/* *
* 跳过购物车,直接到checkout
*/
function buyOneStepForCheckout(result)
{
if (result.error > 0)
{
// 如果需要缺货登记,跳转
if (result.error == 2)
{
if (confirm(result.message))
{
location.href = 'user.php?act=add_booking&id=' + result.goods_id + '&spec=' + result.product_spec;
}
}
// 没选规格,弹出属性选择框
else if (result.error == 6)
{
openSpeDiv(result.message, result.goods_id, result.parent);
}
else
{
alert(result.message);
}
}
else
{
var cartInfo = document.getElementById('ECS_CARTINFO');
var cart_url = 'flow.php?step=checkout';
if (cartInfo)
{
cartInfo.innerHTML = result.content;
}
result.one_step_buy = 1;// 一步
if (result.one_step_buy == '1')
{
location.href = cart_url;
}
else
{
switch(result.confirm_type)
{
case '1' :
if (confirm(result.message)) location.href = cart_url;
break;
case '2' :
if (!confirm(result.message)) location.href = cart_url;
break;
case '3' :
location.href = cart_url;
break;
default :
break;
}
}
}
}
------------------
为了配合抽奖奖品直接兑换支付方式来使用的.
----------------