0

私がクラスで抱えている問題は奇妙です。SHIRT のように同じ名前の新しい商品を追加することはできません 新しい SHIRT をカートに追加する場合は、名前をクラス チェックし、数量を更新するだけです。問題は、同じシャツを持っていても色が違う場合は?? すでにカートに入っているものだけを更新して数量を変更し、色を変更しますか? 名前のチェックを無効にして、同じ名前の新しい製品を追加するにはどうすればよいですか?

これは私が更新のために持っているものです

$qty=$_POST['productquantity'];
$data = array(
               'id'      => $proizvodid,
               'qty'     => $qty,
               'price'   => $cena,
               'name'    => $nazivproizvoda
            );


if (count($this->cart->contents())>0)
{
foreach ($this->cart->contents() as $item)
{
                        if ($item['id']==$proizvodid)

                        {
                            $data = array('rowid'=>$item['rowid'],
                            'qty' => $item['qty']+$qty);
                            $this->cart->update($data);

                        }
                        else
                        {
                        $this->cart->insert($data);                         
                        }
}
}
else
{
$this->cart->insert($data);                         
}
redirect($page);
}
4

2 に答える 2

1

カートのオプションを使用できます。

$data = array(
              'id'      => $proizvodid,
              'qty'     => $qty,
              'price'   => $cena,
              'name'    => $nazivproizvoda
              'options' => array('Color' => 'Red')
            );

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

ここの説明を見てくださいhttp://ellislab.com/codeigniter%20/user-guide/libraries/cart.html

于 2013-11-26T23:46:47.210 に答える
1

あなたは次のようにチェックしていidます:

if ($item['id']==$proizvodid)
{
$data = array('rowid'=>$item['rowid'],
'qty' => $item['qty']+$qty);
$this->cart->update($data);
}

そして、数量のみを更新します。

于 2013-10-08T12:06:27.413 に答える