Я знаю, что у Magento есть система, похожая на крючок, которая называется events. У кого-нибудь есть полный список или скрипт, который можно использовать для определения того, какие события могут быть вызваны?
event-observer
magento-1
benmarks
источник
источник
Ответы:
Нет списка всех событий magento, потому что большинство событий имеют динамическое имя.
Если вы спросите меня, знание этих ключевых событий (и их последствий) является хорошей отправной точкой (помимо списка от Ника):
Каждый объект, расширенный из Mage_Core_Model_Abstract, отправляет множество событий вокруг загрузки, сохранения и удаления:
Например, чтобы добавить проверки, после того, как объект был загружен
добавить дополнительные данные к объекту перед его сохранением
Сохранить другие модели после того, как «родитель» был сохранен
очистить, прежде чем модель будет удалена
очистить, прежде чем модель будет удалена - или, может быть, потом? Вы здесь еще в сделке!
Если вы хотите быть уверены, что объект был удален
Коллекции, расширенные из Mage_Core_Model_Resource_Db_Collection_Abstract, также имеют два общих события:
Например: чтобы изменить SQL для загрузки коллекции:
Например: добавить дополнительные данные к объектам:
источник
_eventPrefix
событий модели, событий целевого запроса, иногда полезных событий общих блоков и важности ведения журнала для поиска событийapp/code/core/Mage/Core/Model/App.php
иmage::log($eventName,null,'events.txt',true);
обратноdispatchEvent
. Загрузите страницу, которую я пытаюсь наблюдать. Очевидно, не оставляйте это как есть и вернитесь, как только ваш var / logs / events.txt будет создан. Грязно, да. Быстро, да. :)Do the bloody
grep 'Mage::dispatchEvent' app/ -rsn
Это предоставит вам список событий, относящихся к вашей установке, так как список событий может отличаться в зависимости от версии Magento, установленных настроек и расширений.источник
sales_order_place_after
это произойдет, но кажется, что призыв к стрельбе закомментированCheckout/Type/Onepage.php
.Я использую это как хорошую шпаргалку http://www.nicksays.co.uk/magento-events-cheat-sheet-1-7/ . В нем есть все события, которые можно вызвать в 1.7.
источник
Я знаю, что на этот вопрос ответили, я просто добавляю свой путь здесь:
public static function dispatchEvent
(ln: ~ 446) в начале я добавляю//Mage::log($name, null, 'events.log', true);
Затем вы открываете var / log / events.log (~ 40kb) и видите множество событий только на этой странице! :)
источник
Ответ уже принят, но я все равно опубликую свой ответ на будущее:
Если вы хотите увидеть список событий, которые есть у Magento, у вас есть 3 варианта:
1) Google для него, есть много людей, которые составили список событий Magento
2) Создайте модуль, который подключается к
controller_action_predispatch
событию, которое является событием, которое вызывается до вызова любого другого события. Внутри этого модуля вы можете регистрировать некоторые события, которые отправляются:Добавьте следующее в config.xml
А внутри вашего модуля / модели / наблюдателя:
Выше будет регистрировать каждое событие, которое отправляется ...
3) Если у вас есть доступ по SSH, вы можете запустить следующую команду, чтобы получить обзор всех событий (и их файлов, куда они отправляются):
источник
controller_action_predispatch
всегоcontroller_front_init_before
. 2) Этот подход просто не будет регистрировать каждое событие, которое отправлено, это опечатка или неполный раздел?Я использую панель инструментов Magento Developer, которая имеет хорошую функцию отображения событий, которые можно наблюдать на загруженной странице.
источник
Здесь вы можете просмотреть большинство существующих событий: http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/magento_events
источник
Я сделал grep для основного модуля Mage Magento и составил список,
Исчерпывающий список событий Magento
PS Как указывалось, могут содержать события, которые находятся внутри устаревших функций Magento, поэтому проверяйте ссылку на файл и строку перед реализацией.
Открыт для предложений!
источник
Предыдущая перечисленная команда grep выдает дубликаты (много), и она не охватывает список префиксов событий, которые потребуются для понимания динамически генерируемых имен событий. Эти команды отображают оба списка только с уникальными значениями. Вы можете добавить флаг -n, как и другой ответ grep, и получить номер строки, я полагаю. Но вопрос не спрашивал, где в коде они все были. ~ _ ~
источник
здесь также есть шпаргалка http://mikebywaters.wordpress.com/2012/07/23/magento-event-observer-list/
источник
http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/magento_events
Здесь вы можете найти полный список событий наблюдателя.
источник
Обратитесь к этим шпаргалкам
https://www.nicksays.co.uk/magento-events-cheat-sheet-1-8/ http://rabee.me/codes/magento/cheatsheet/1.9/
Это будет полезно для вас.
источник
Вы можете найти весь список событий backend + frontend по одной ссылке
http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/magento_events
источник
Если кому-то понадобится обновленный список, я стараюсь обновлять его:
https://gist.github.com/digitalpianism/d8157c6b492238af2ed7809e5e3a134e
источник
Вы можете найти все события magento-1x, следуя URL. https://magento2.atlassian.net/wiki/display/m1wiki/Magento+1.x+Events+Reference
источник