Tampaknya tidak ada peristiwa status pesanan secara default, jadi bagaimana Anda biasanya mengamati perubahan status pesanan? Ada dua kemungkinan yang saya lihat: a) Menimpa model penjualan / pesanan untuk membuat acara kustom Anda untuk perubahan keadaan b) Mengamati pesanan menyimpan acara dan melihat keadaan di sana
Apakah ini salah satu cara untuk pergi atau ada pilihan yang lebih baik?
Sunting: Terima kasih atas jawaban Anda sejauh ini. Situasinya sedikit lebih rumit. Saya ingin menambahkan informasi ke pesanan tergantung pada kondisi saat ini. Sekarang inilah masalahnya: Dalam event save_before saya masih memiliki state lama dan tidak sekarang state baru, karena dalam model penjualan / pesanan, metode _beforeSave () adalah sebagai berikut:
parent::_beforeSave();
$this->_checkState();
//...
Jadi acara diproses dalam parent::_beforeSave();
NAMUN status pesanan benar-benar diubah setelahnya di $this->_checkState();
(ini adalah perubahan otomatis, mis. Jika Anda membuat faktur, status dipindahkan ke proses jika tidak ada pengiriman di sana, belum)
Saya juga tidak bisa menggunakan save_after event, karena saya ingin menyimpan sth. atas perintah dan itu mungkin akan menghancurkan segalanya untuk memanggil save di save_after event.
Ada ide? Satu-satunya ide saya sekarang adalah untuk meniru $this->_checkState();
perilaku di save_before pengamat saya untuk mengetahui apa yang akhirnya akan negara ...