1

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

有没有其他方法或任何教程来学习我们如何更新购物车的选项,就像

$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);

我已经搜索过了,但似乎没有人对此进行任何修复?

4

5 回答 5

1

虽然我还没有找到任何解决方案,因此我使用了简单的解决方案,这只是将商品放在购物车中并添加具有相同 id 和更新选项值的新商品。虽然它不是很好的把戏,但它只是为我工作。

于 2012-12-08T20:19:50.687 回答
0

我昨天像这种问题一样陷入困境,然后我创建了扩展/覆盖更新功能。这里如何扩展本机库链接:创建 CI 库

这是我在Github Link中修改的代码

我希望它会帮助某人,也可以根据他们的需要进行修改。

于 2014-11-26T06:37:25.530 回答
0

不,它对我不起作用..但是没有任何错误,我也在 _update 函数中检查了数组,

Array
(
    [id] => 177
    [rowid] => 66bd8895e10f189f62bf3a65ada83630
    [qty] => 1
    [options] => Array
        (
            [vat] => 0
            [discount] => 0
        )

)
于 2015-12-02T04:33:15.103 回答
0

我尝试的方式有点困难,但它有效。您不能只更新单个选项值。要更新,您必须将所有现有值传递给所有带有您要更新的值的选项值。

如果您想更新您的尺寸选项

$data = array('rowid' => $yourRowIdHere, 'options' => array ('color' => $yourExistingValue, 'length' => $yourExistingValue, 'size' => $newUpdatedValue) ));

$this->cart->update($data);

试试看 :)

于 2020-04-13T12:28:27.900 回答
0

我知道我为时已晚,但我想分享我的解决方案:

我刚刚获得了数组中的选项并根据需要对其进行了更新,然后使用数组内容更新了购物车中的整个选项字段。

希望这对某人有所帮助。

对不起英语。

于 2016-01-05T15:12:24.137 回答