Как определить новые события для рекламных акций?

Я читал почти все, что я нашел о рекламных акциях Spree, но я не нашел способа определить новый триггер для рекламных акций.

Я нахожу только то, как определить действия и правила, но ничего не могу сказать об определении событий. Я уже знаю, что он использует ActiveSupport::Notifications, но я не могу найти способ пройти через это.

выбор триггера рекламной акции

1 ответ

Решение

Это немного сложно. Первое, что вам нужно сделать, это запустить событие, когда возникает ваше состояние. fire_event в помощниках общего контроллера делегирует это ActiveSupport::Notification.

Затем вам нужно будет украсить Spree::Promotion, чтобы добавить новый активатор, подобный этому коду, который добавляет активатор кода купона.

Этот код подписывается на события spree. * И запускает соответствующее событие на основе активатора. Он вызывает метод активации в соответствующем классе, который вам нужно переопределить в оформленном промоушене. Активация по умолчанию для продвижения делает это, поэтому вам нужно расширить этот код, чтобы делать все, что вы хотите на вашем мероприятии.

Надеюсь, что это даст вам возможность начать.

Другие вопросы по тегам