不久前我做了一个系统,其中涉及一个基本的购物车。购物车是一个非常简单的 OOP 系统,一次添加 1 个数量的商品。这是将商品添加到购物车的功能。
function add_item($itemid,$qty=1,$price = FALSE, $info = FALSE)
{
if($this->itemqtys[$itemid] > 0)
{ // the item is already in the cart..
// so we'll just increase the quantity
$this->itemqtys[$itemid] = $qty + $this->itemqtys[$itemid];
$this->_update_total();
} else {
$this->items[]=$itemid;
$this->itemqtys[$itemid] = $qty;
$this->itemprices[$itemid] = $price;
$this->iteminfo[$itemid] = $info;
}
$this->_update_total();
}
问题是一些产品有变体(尺寸、颜色等),但是当他们在同一订单中选择不同的变体时,产品没有正确添加 - 所有相同的产品都属于一个变体。
我认为使用多维数组或数组中的数组来产生类似的东西是一个想法:
$this->iteminfo[$itemid][$var];
从产品中获取 var 不是问题,我只是在苦苦思索如何将产品及其变体添加到购物车中,并且只有在再次添加变体时才更新此产品/变体组合的数量。如果添加了不同的变体,它会将产品添加到购物车的新条目中吗?
希望这是有道理的:/谢谢