我想要做的是创建一个拥有多个供应商的电子商务网站,而不是典型的单一商店应用程序,我(作为用户)去添加一个卖家(Spree 应用程序的所有者)正在销售的产品。
因此,您可以查看所有供应商的概览,然后您可以从多个供应商处购买多种产品。
Spree 是否允许我将其定制到那种程度?
如果是这样,是否有任何文档?
谢谢。
我想要做的是创建一个拥有多个供应商的电子商务网站,而不是典型的单一商店应用程序,我(作为用户)去添加一个卖家(Spree 应用程序的所有者)正在销售的产品。
因此,您可以查看所有供应商的概览,然后您可以从多个供应商处购买多种产品。
Spree 是否允许我将其定制到那种程度?
如果是这样,是否有任何文档?
谢谢。
一种方法(我使用的方法)是为每个项目添加一个“供应商”属性。注意 - 此方法假定每个项目仅由单个供应商销售。如果您实际上有一个市场,各个供应商竞相销售相同的商品,您需要通过添加为每个产品变体定义的“供应商”选项类型来做类似的事情。
每个供应商(新型号)都分配有一个代码,可在设置您的项目时使用(作为属性值或多个变体选项值)。下订单后,您可以使用新的 OrderFulfillment 模型来跟踪各个供应商将用于履行该订单的各种装运(订单中每个供应商的一个 OrderFulfillment 记录)。
这基本上就是您需要的所有模型更改。在控制器区域,您需要修改“购物车”事件机器序列以处理不同供应商的运输方式。在有多个供应商的情况下,您还需要向用户展示供应商的选择(想想亚马逊市场)。
如何处理对不同供应商的付款不是我的项目的一部分,但如果需要,不应该太复杂而无法添加。
关于链接:您应该熟悉本指南中讨论的基本 Spree 概念,更具体地说,这里。您还需要进行一些内部修改(新关联、修改的控制器行为),您可以在此处阅读。
我认为你有几个可用的选项。
从本质上讲,您想要一个电子商务应用程序,用户可以在其中注册并列出他们自己的产品,然后有一个用户个人资料页面,人们可以在其中查看和查看该用户的产品,对吗?有些人称之为多租户,如果你用谷歌搜索,你很快就会发现这个疯狂的扩展:多租户
我想做和你一样的事情,我对多租户有点警惕,因为我不得不回滚到 Spree 2-2 稳定(我目前在 2-3)。
此处先前的答案建议您应该创建一个名为 Vendor 的新模型。我会说为什么不更新您现有的用户模型以成为供应商?
我的建议只是在 User 模型和 Spree::Products 模型之间创建关联。通过这种方式,您可以将产品范围限定为单个用户并创建个人资料页面,而无需为每个用户添加新的外国模型和/或不同的管理员。所有的 spree 方法都已附加到您的 User 类,所以我认为一个简单的 belongs_to/has_many 关联会起作用。根本没有测试过,但这就是我的想法。