在spree中自定义最终用户订购体验的最佳方法是什么?

时间:2012-02-04 17:56:28

标签: ruby-on-rails user-experience spree

我正在推出一个狂欢应用程序,作为设计要求的一部分,我需要一个向导询问信息,然后向产品下订单。

Imho有两种方法可以做到这一点:

  1. 如果产品需要向导
  2. ,则在结帐过程中触发向导
  3. 只需在gui上进行向导处理即可下订单(并通过结账指导)
  4. 选项1需要扩展产品型号,并且是高度自定义的狂欢版本。但这最终将支持更多产品。因此,我们可以说产品是否需要用户提供信息,然后通过向导进行操作。

    第二种选择更简单,但不太灵活。我必须确保除了通过向导之外没有办法添加产品,这是可能的......

    有没有正确的方法来解决这个问题?我已经读过,狂欢结账流程是高度可定制的,所以也许我应该关注方法1?

    任何想法都将不胜感激

1 个答案:

答案 0 :(得分:1)

Spree使用state_machine,它本质上是一个状态机工具,用于通过各种前/后/处理过滤器结帐来定义您自己的步骤。

两个想法:

  • 在用户结帐之前,您是否有任何理由不介绍该向导?这意味着,您可以定义自己的状态机进程,以便将项添加到购物车以强制用户通过向导。然后,订单项可以指向额外存储的数据。然后购物车本身将保持未定制。
  • 或者,您可以更改Spree现有的state_machine行为以满足您的向导需求。阅读有关Spree状态机自定义here的更多信息。

我很难说哪种方法会更好,因为我对向导中发生的事情并不完全了解。如果可能的话,我可能会选择第一个选项,因为攻击Spree的状态机进程可能会有点混乱/棘手。