0
我一直在閱讀有關Spree促銷的幾乎所有內容,但我沒有找到爲促銷定義新觸發器的方法。如何爲狂歡節促銷定義新活動?
我只找到如何定義動作和規則,但沒有定義事件。我已經知道它使用ActiveSupport :: Notifications,但我無法找到解決方法。
我一直在閱讀有關Spree促銷的幾乎所有內容,但我沒有找到爲促銷定義新觸發器的方法。如何爲狂歡節促銷定義新活動?
我只找到如何定義動作和規則,但沒有定義事件。我已經知道它使用ActiveSupport :: Notifications,但我無法找到解決方法。
這是一個有點艱難的一個。您需要做的第一件事是在您的情況發生時觸發事件。 fire_event在通用控制器幫助程序中將其委託給ActiveSupport :: Notification。
然後,您需要修飾Spree :: Promotion來添加一個像這樣的新激活器code which adds the coupon code activator。
This code訂閱了spree。*事件並將基於激活器觸發適當的事件。它會調用適當類的activate方法,您需要在裝飾性促銷中重寫該方法。 default promotion activate does this,所以您需要擴展該代碼,以便在事件中執行任何您想要的操作。
希望能讓你有個開始的地方。
很酷,想知道如何做到這一點,儘管我沒有急需,你永遠不知道。 –
我現在就試試這個,謝謝@gmacdougall – aanfuso
它工作完美,比我想象的簡單。謝謝! – aanfuso