如何为狂欢促销定义新活动?

时间:2013-12-19 04:15:02

标签: ruby-on-rails spree

我一直在阅读关于Spree促销活动的几乎所有内容,但我没有找到定义促销新触发器的方法。

我只找到如何定义操作和规则,但没有关于定义事件的内容。我已经知道它使用ActiveSupport :: Notifications但我找不到通过它的方法。

promotion event trigger select

1 个答案:

答案 0 :(得分:5)

这有点困难。您需要做的第一件事就是在您的病情发生时开始事件。公共控制器助手中的fire_event将其委托给ActiveSupport :: Notification。

然后你需要装饰Spree :: Promotion来添加一个像code which adds the coupon code activator这样的新激活器。

This code订阅了狂欢。*事件,并将基于激活器触发相应的事件。它在适当的类上调用activate方法,您需要在装饰的促销中覆盖它。 default promotion activate does this,因此您需要扩展该代码,以便在您的活动中执行任何操作。

希望能为你提供一个入门的地方。