Кажется, по умолчанию события состояния заказа не существует, так как вы обычно наблюдаете за изменением состояния заказа? Я вижу две возможности: а) Перезаписать модель продаж / заказа, чтобы создать собственное событие для изменения состояния. Б) Наблюдать за событием сохранения заказа и посмотреть на состояние там.
Один из них - путь или есть лучший вариант?
Изменить: Спасибо за ваши ответы до сих пор. Ситуация немного сложнее. Я хочу добавить информацию к заказу в зависимости от текущего состояния. Теперь вот проблема: в событии save_before у меня все еще есть старое состояние, а теперь нет нового, потому что в модели продажи / заказа метод _beforeSave () выглядит следующим образом:
parent::_beforeSave();
$this->_checkState();
//...
Таким образом, событие обрабатывается в parent::_beforeSave();
НО, но в действительности состояние заказа впоследствии изменяется $this->_checkState();
(это автоматическое изменение, например, если вы создаете счет-фактуру, состояние перемещается в обработку, если отгрузки пока нет)
Я также не могу использовать событие save_after, так как хочу сохранить sth. в порядке, и это, вероятно, сломает все, чтобы вызвать сохранение в событии save_after.
Любые идеи? Моя единственная идея сейчас состоит в том, чтобы повторить $this->_checkState();
поведение в моем наблюдателе save_before, чтобы выяснить, каково будет состояние ...