如何在Codeigniter中更新购物车选项?

时间:2012-12-08 20:02:25

标签: codeigniter

通过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);

我搜索了它,但似乎没有人对它做过任何修复?

5 个答案:

答案 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);

试试看:)