通过Codeigniter提供的文件其购物车库不更新其选项我们可以添加像这样的选项
$data = array(
array(
'id' => 'sku_123ABC',
'qty' => 1,
'price' => 39.95,
'name' => 'T-Shirt',
'options' => array('Size' => 'L', 'Color' => 'Red')
)
);
$this->cart->insert($data);
是否有任何其他方式或任何教程可以了解我们如何更新Cart的选项,就像
一样$qid = $this->input->post("qid");
$pairs = $this->input->post("pairs");
$males = $this->input->post("males");
$females = $this->input->post("females");
$data = array(
array(
'rowid' => $qid,
'qty' => 1,
'options' => array('pairs' => $pairs, 'males' => $males, 'females' => $females))
);
$this->cart->update($data);
我搜索了它,但似乎没有人对它做过任何修复?
答案 0 :(得分:1)
虽然我没有找到任何解决方案,因此我使用简单的解决方案,这只是将项目放在购物车中并添加具有相同ID和更新选项值的新项目。虽然它不是很好的技巧,但它只是为我工作。
答案 1 :(得分:0)
我昨天像这样的问题堕落,然后我创建了扩展/覆盖更新功能。这里是如何扩展本机库链接:Create CI Library
以下是Github Link
中修改后的代码我希望它可以帮助某人,也可以根据需要进行修改。
答案 2 :(得分:0)
不,它对我不起作用..但没有任何错误,我也检查了_update函数中的数组,
public ActionResult iDeal_Table_Display(Guid? SA = null)
{
var iDConfig = webservice.Get_iDealConfigs(SA,null,null,null,null,null,null, out retStatus, out errorMsg);
var model = iDConfig.Select(ic => new iDealModel2
{
SaPrefix = ic.PrefixName,
CalendarCode = ic.CalendarCodeName,
CashnCarry = ic.isCashnCarry,
FreeMM = ic.isFreeMM,
OnContract = ic.isOnContract,
ProductId = ic.ProductName,
RequestTypeId = ic.RequestTypeName
}).ToList();
return PartialView(model);
}
答案 3 :(得分:0)
我知道我太晚了,但我想分享我的解决方案:
我刚刚获得了数组中的选项并根据需要更新了它,然后使用数组内容更新购物车中的整个选项字段。
希望这有助于某人。
对不起英文。
答案 4 :(得分:0)
我尝试的方法有点困难,但是可以。您不仅可以更新单个选项值。要进行更新,您必须将所有现有值传递给所有带有要更新值的选项值。
如果您要更新尺寸选项
$ data = array( ‘rowid’=> $ yourRowIdHere, 'options'=> array('color'=> $ yourExistingValue,'length'=> $ yourExistingValue,'size'=> $ newUpdatedValue) ));
$ this->购物车-> update($ data);
试试看:)