使用图像PHP对产品库存变体E-Commerice进行建模

时间:2015-08-15 17:59:30

标签: php mysql cakephp model e-commerce

有许多不同的答案可以满足不同的在线商店需求。

我看到的很多例子没有考虑**库存和图像**,并将样式和尺寸视为标签等属性,并尝试灵活。这对我来说似乎不对。我的产品有很多样式/颜色,有多种尺寸。

以下是我想要布局的方法

Product
id | name  |  price
1  |  shirt  | 10.00

^ Styles                        <      Images
id product_id name                      id       styles_id    filename
1   1          red                      1             1       image.jpg
2   1          blue

^ Size
id sku styles_id name inventory
1   n1     1         m    50
2   n2     1         l    50

我没有看到很多这方面的例子,但这对我来说最有意义。这样做我完全错了,不好吗?对于具有自己的表格的样式,我可以使用带图像的FK来加载每种样式的不同外观

我知道一个缺陷就是如果我的产品只有一种款式和一种尺寸。像冬天的外套。然后我要使用额外的表格。通过PHP可视化,我将只使用一个表单。当我开始处理购物车和订单时,我会遇到问题吗?

注意:我正在使用CakePHP

对父子方法的回应

是的我之前看过,你不会有重复的字段或空字段,例如你的表格看起来像这样吗

  id   role     color   size  inventory price  name
  1     parent   -        -        -     -     artShirt
  2     child    red      m       20    50.00     -
  3     child    red      l       20    50.00       -
  4     child    blue      s       20    50.00      -
  5     child    blue      m       20    50.00      -

如何将img链接到红色产品?

id    product_id   image
1        2          redImg.jpg
1        3          redImg.jpg

1 个答案:

答案 0 :(得分:0)

我真正喜欢的概念叫做父产品 - 儿童产品。 父产品有一个sku供参考,但它不是可购买的产品。它代表了产品,如ArtSir衬衫。它包含ArtSir Shirt的产品描述,质量,关键字等。

儿童产品是实际可购买的产品。衬衫。每个儿童产品有一个记录,包括sku,颜色,大小,价格,重量,库存等,它们与父产品sku的父产品相关。对于大多数商家而言,库存是至关重要的,因此每个sku拥有一个db记录实际上是唯一可行的方法。 (更不用说你是否需要不同的UPC或EAN代码)

父产品和子产品都可以在一个简单的快乐数据库表中。喜欢一个家庭:-)你用它的sku调用父产品,然后用父产品sku获得子产品。

然后当您获得子产品时,您可以选择过滤掉没有库存的产品而不显示它们。

在产品页面上显示特定颜色的产品图片 - 因此这与可购买的产品无关。这是演示文稿。最简单的(黑客)是将该信息放在父产品记录中。颜色1,照片链接,颜色2,照片链接等字段

否则,您可以使用单独的db表来执行此操作。试着将其任务限制在演示文稿中。

始终将产品ID传递给购物车 - 然后购物车在产品表中查找产品价格。如果您公开通过产品价格,那么它很容易被黑客入侵。查看价格时,您还可以确认库存。

建议在结算前有一步 - 再次检查价格和库存以确认一切正确后再向客户收费。

==============

编辑以回答问题。您询问: “你不会有重复的字段或空字段,例如你的表格看起来像这样”

是的,你会有空字段。在1985年或1995年这是重要的。它不再重要,除非你在那个时代的机器上运行你的网站。

底线你必须能够查找sku并获得价格和库存。您可以将数组或数据结构放入字段中。 但是每次进行数据库调用时都需要打包和解压缩它们。

如何将img链接到红色的产品?

你可以通过为父产品创建字段来保存图像链接,颜色参考,名称等color01,photolink01,color02,photolink02等等,这是一个黑客但它会起作用。

请记住,您正在从父产品中提取所有页面显示信息。所以这只是更多的显示数据。

您还可以选择在子产品记录中添加照片字段。您可能需要产品Feed。那么你可以从儿童产品中获取颜色 - 照片结果,并使用它来创建显示。

否则为显示创建一个db表。该表还可以帮助上传产品照片并将其分配到正确的产品。