2010-08-18 143 views
2

我有一种情况:CodeIgniter购物车ID +选项

我有一个在CodeIgniter购物车自定义商店中的产品。 每个产品都有一个与其关联的ID,但也有它的选项(尺寸)。 这些尺寸都有不同的价格。 (我们正在讨论以不同尺寸打印出售的照片)。

因为CI Cart根据插入的产品ID更新,添加和删除,所以我无法插入两种不同尺寸的产品。 截至目前,我能想到的唯一解决方案是将ID作为IMAGEID_OPTIONID传递到购物车,以便它包含两个ID。

但是,我认为这样做可能更容易,更统一? 或者更好的解决方案,而不是一个ID(它自己)与任何特定的关联,除非我爆炸.. ..?

回答

4

我最近建立了一个有这些约束的网站。总之,您需要创建“产品”和“产品组”之间的区别。把它想象成管理最离散的数据单元。实际上,衬衫X大小的中型衬衫实际上是与衬衫X大小不同的东西......加倍是因为如果您有以这些质量为基础的价格(当您考虑布料图案或颜色时,这会变得更加逼真)。因此无论如何,如果你有一个“组”表,一个“产品组”表和一个“产品”表,你可以保持所有这些想法不同。在您的产品表上,您可以有“大小”和“颜色”(以及您可以想到的任何其他可区分属性)列和“价格”列。或者,你可以更加硬核,并制作独立的定价表,将价格与独特的产品相匹配(如果你想追踪历史价格和折扣,这将特别有用)。

然后,在您的购物车中,您可以简单地将product_ids附加到cart_ids并执行一些连接以确定该产品是哪个“组”的一部分,该组中有哪些图片(或该产品是否存在)等等上。这不是一个简单的问题,但遵循这一思路应该有助于你走上正确的道路。

最后一点:跟踪这类独特的产品也会使库存清算更加简单明了。

+0

我喜欢这个主意。我必须看看我是否可以付诸实践。与此同时,这是最好的答案;) – 2010-08-18 22:02:52