【问题标题】:Ecommerce store customization using Spree使用 Spree 进行电子商务商店定制
【发布时间】:2016-11-19 12:57:00
【问题描述】:
我正在使用 Spreecommerce 建立一个电子商务商店来销售一些商品。除了列出所有产品的“商店”之外,我还需要一种方法让用户为我将主持的会议付费。因此,如果用户在会议页面中的某个会议上单击“参与”,他们将被重定向到购物车页面,该会议已添加到他们的购物车中。
我需要了解实现此类目标的最佳方法。
- 我是否应该将“会议”创建为产品并给它们一些特殊的分类,以便它们在列表页面中不可见?最好的方法是什么?
- 我应该创建一个单独的会议模型并将其与购物车集成吗?
【问题讨论】:
标签:
ruby-on-rails
e-commerce
spree
【解决方案1】:
第一种方法是最简单的。就像您说的那样,您只需要添加适当的范围 - 因此特殊分类法在侧边栏中不可见,并且它的产品不会显示在全局产品列表页面 (PLP) 上 - 并为产品创建自定义 PLP分类法。这样您就可以使用 Spree 提供的所有选项类型、属性等。
这种方法的缺点是我们需要在源代码中硬编码一个 ID 或名称。
使用附加模型的第二种方法要么意味着复制整个 Product 模型及其所有关系,要么扩展它,这仍然需要范围界定。
【解决方案2】:
将店铺产品和会议分开的最佳方式如下
1) 在产品表中添加一个字段,如 is_conference 或 is_product
2) 进行狂欢定制以从产品编辑页面更新该字段
3) 然后在前面对单独的产品做 where(is_conference: true/false)
我这样对其他功能没有影响,你需要一点努力来实现这个