我正在处理问题,如果购物车金额超过,我需要更改运营商> 500,所以,我挂钩actionCartSave并检查金额,但是,当我这样做时
$cart->id_carrier=(int)$carrier_id;
$cart->update();
ajax停止响应,需要重新加载页面以查看产品是否已添加到购物车,但如果我删除$cart->update()
,则运营商不会更新。我怎么解决这个问题?
答案 0 :(得分:1)
也许你遇到了一个循环。当您拨打c
时,会再次调用挂钩update
如果购物车载体与结果中的载体相同,则您需要做的是避免更新购物车
actionCartSave
这样,你就可以避免无限循环了
另一个(更好的)解决方案是使用if ((int)$cart->id_carrier !== (int)$carrier_id) {
$cart->id_carrier = (int)$carrier_id;
$cart->update();
}
,因为它不会调用$cart->save();