Saya tahu bahwa Magento memiliki sistem seperti kait yang disebut peristiwa. Adakah yang memiliki daftar lengkap atau naskah yang dapat digunakan untuk menentukan acara mana yang dapat dipanggil?
event-observer
magento-1
tanda batas
sumber
sumber
Jawaban:
Tidak ada daftar semua peristiwa magento, karena sebagian besar peristiwa dinamai secara dinamis.
Jika Anda bertanya kepada saya, mengetahui peristiwa penting ini (dan konsekuensinya) adalah titik awal yang baik (di samping daftar dari nick):
Setiap Objek yang diperluas dari Mage_Core_Model_Abstract mengirimkan banyak peristiwa seputar pemuatan, penyimpanan, dan penghapusan:
Misalnya menambahkan cek, setelah objek dimuat
untuk menambahkan data tambahan ke objek sebelum disimpan
Untuk menyimpan model lain setelah "induk" disimpan
bersihkan, sebelum model dihapus
bersihkan, sebelum model dihapus - atau mungkin sesudahnya? Anda masih di sini dalam transaksi!
Jika Anda ingin memastikan entitas telah dihapus
Koleksi yang diperluas dari Mage_Core_Model_Resource_Db_Collection_Abstract memiliki dua acara umum juga:
Misalnya: untuk mengubah SQL untuk memuat koleksi:
Misalnya: untuk menambahkan data tambahan ke objek:
sumber
_eventPrefix
untuk acara model, acara permintaan yang ditargetkan, acara blok generik yang kadang-kadang berguna, dan pentingnya penebangan untuk menemukan acaraapp/code/core/Mage/Core/Model/App.php
danmage::log($eventName,null,'events.txt',true);
kedispatchEvent
metode. Muat halaman yang saya coba amati. Tentunya jangan biarkan ini apa adanya dan kembalikan setelah var / logs / events.txt Anda dibuat. Kotor, ya. Cepat ya. :)Lakukan bloody
grep 'Mage::dispatchEvent' app/ -rsn
Ini akan memberi Anda daftar acara khusus untuk instalasi Anda karena daftar acara dapat bervariasi tergantung pada versi Magento, penyesuaian dan ekstensi yang diinstal.sumber
sales_order_place_after
akan terjadi, tetapi sepertinya panggilan untuk memecatnya dikomentariCheckout/Type/Onepage.php
.Saya menggunakan ini sebagai lembar contekan yang bagus http://www.nicksays.co.uk/magento-events-cheat-sheet-1-7/ . Ia memiliki semua peristiwa yang dapat dipanggil di 1.7.
sumber
Saya tahu bahwa pertanyaan ini telah dijawab, saya tambahkan saja di sini:
public static function dispatchEvent
(ln: ~ 446) di awal saya tambahkan//Mage::log($name, null, 'events.log', true);
Kemudian Anda membuka var / log / events.log (~ 40kb) dan melihat banyak peristiwa di halaman itu saja! :)
sumber
Jawaban sudah diterima tetapi saya tetap akan mengirim jawaban saya untuk masa depan:
Jika Anda ingin melihat daftar acara yang dimiliki Magento, Anda memiliki 3 opsi:
1) Google untuk itu, ada banyak orang yang telah menyusun daftar acara Magento
2) Buat modul yang mengaitkan pada
controller_action_predispatch
acara yang merupakan acara yang dipanggil sebelum acara lain dipanggil. Di dalam modul ini Anda dapat mencatat beberapa peristiwa yang dikirim:Tambahkan yang berikut ini di config.xml
Dan di dalam modul / Model / Pengamat Anda:
Di atas akan mencatat setiap peristiwa yang dikirim ...
3) Jika Anda memiliki akses SSH Anda dapat menjalankan perintah berikut untuk mendapatkan gambaran umum dari semua peristiwa (dan file mereka di mana mereka dikirim):
sumber
controller_action_predispatch
, terutamacontroller_front_init_before
. 2) Pendekatan ini tidak akan mencatat setiap peristiwa yang dikirim, apakah ini bagian salah ketik atau tidak lengkap?Saya menggunakan Magento Developer Toolbar yang memiliki fitur bagus untuk menampilkan acara yang dapat diamati pada halaman yang dimuat.
sumber
Di sini Anda dapat melihat sebagian besar acara yang ada: http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/magento_events
sumber
Saya telah melakukan grep pada modul Mage inti Magento, dan memenuhi daftar,
Daftar Lengkap Acara Magento
PS Seperti yang ditunjukkan, mungkin berisi peristiwa yang ada di dalam fungsi Magento yang sudah usang, jadi periksa file dan referensi baris sebelum implementasi.
Buka saran!
sumber
Perintah grep yang terdaftar sebelumnya akan membuat duplikat (banyak) dan itu tidak mencakup daftar awalan acara yang akan diperlukan untuk memahami nama acara yang dihasilkan secara dinamis. Perintah-perintah ini membuat kedua daftar dengan hanya nilai unik. Anda dapat menambahkan flag -n seperti jawaban grep lainnya dan mendapatkan nomor baris yang saya kira. Tetapi pertanyaannya tidak menanyakan di mana dalam kode mereka semua. ~ _ ~
sumber
ada lembar contekan di sini juga http://mikebywaters.wordpress.com/2012/07/23/magento-event-observer-list/
sumber
http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/magento_events
Di sini Anda dapat menemukan daftar lengkap peristiwa pengamat.
sumber
Lihat lembar contekan ini
https://www.nicksays.co.uk/magento-events-cheat-sheet-1-8/ http://rabee.me/codes/magento/cheatsheet/1.9/
Ini akan sangat membantu Anda.
sumber
Anda dapat menemukan semua daftar acara backend + frontend pada satu tautan
http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/magento_events
sumber
Jika seseorang membutuhkan daftar yang diperbarui, saya mencoba memperbarui ini:
https://gist.github.com/digitalpianism/d8157c6b492238af2ed7809e5e3a134e
sumber
Anda dapat menemukan semua acara magento-1x dengan mengikuti url. https://magento2.atlassian.net/wiki/display/m1wiki/Magento+1.x+Events+Referensi
sumber