Есть ли полный список событий в Magento 2? Я ищу что-то вроде шпаргалки Magento Events (1.9)
event-observer
magento2
mbalparda
источник
источник
Ответы:
Я собрал список событий Magento 2, используя
Список разделен на 2 части, одна для статических событий и одна для динамики.
От здесь , статические события все те события , определенные с полным именем события , как:
Динамические события - это все те события, которые определены динамически, во время выполнения, по имени события, например:
Список в электронной таблице для лучшего чтения. Я оставил 2 строки после матча для лучшего понимания контекста мероприятия.
Этот же список можно найти в официальном репозитории Magento 2 для
_eventManager->dispatch
источник
sales_order_save_after
Например, событие, которое очень важно для моей текущей задачи, отсутствует, и когда вы будете искать в репозитории Magento 2, вы заметите, что его совсем нетdispatch
: github.com/magento/magento2/… Я понятия не имею, пока как эти события рассылаются, но было бы здорово включить их в список!sales_order_save_after
(как один пример) не появляется в списке (и поиске), а также не выглядит как динамическое событие. А потом я подумал, можно ли и как включить такие события, чтобы получить более полный список. И, очевидно, я говорю только о Magento 2sales_order_save_after
- это событие Magento 2, насколько я могу судить.Очевидно, что это не очень хорошая практика, но я предоставляю одну ссылку, которая соответствует важным событиям в Magento2
http://cyrillschumacher.com/magento2-list-of-all-dispatched-events/
Конечно, список событий неполон, как если бы вы работали с Magento 1.x, логика отправки событий сохраняется
lib/internal/Magento/Framework/Model/AbstractModel.php
Загрузка до и после событий моделиСохранить до и после событий модельного объекта
Удаление объекта
Очистка объекта
Диспетчер диспетчеризации
Библиотека / внутренний / Magento / Framework / App / Действие / action.php
Внешний вид визуализации событий внешнего интерфейса
Коллекции Моделей
Библиотека / внутренний / Magento / Framework / Модель / ResourceModel / Db / Коллекция / AbstractCollection.php
Есть много таких событий, и это комбинация явных и неявно сгенерированных событий в Magento2
источник
Ответы, прежде всего, работают отлично, но иногда вам нужно знать, какие события генерируются при загрузке определенной страницы и в каком порядке.
Так что здесь есть лучший способ (по моему мнению, знать это), использовать xDebug и установить точку останова на строке 56 в классе
Magento\Framework\Event\Manager
(она находится вlib
папке, а не вapp
папке).В вашем отладчике просто сказать ему «Оценка и журнал»
$eventName
переменную и посмотреть все события будут отображаться в консоли , как при загрузке страницы.Я также рекомендовал бы отключить опцию «Приостановить», так как может быть выброшено сотни событий, вам может потребоваться оставить ее включенной для достижения первой точки останова, а затем удалить ее.
Почему я считаю, что это лучший способ получить все события, отправляемые при загрузке страницы, потому что это также покажет вам все события, отправленные контроллерами. Каждый контроллер отправляет события до и после с составными именами, содержащими имя FullActionName, RouteName и значение по умолчанию после отправки. Смотрите
Framework\App\Action
класс под методом dispatch () .источник
Его трудно получить событие знать конкретную страницу. Таким образом, вы можете попробовать этот код, чтобы отслеживать вызываемые события и использовать лучший для ваших нужд
добавить этот код ниже названия события
Вы можете проверить список в
<magentoroot>/var/log/events.log
источник
Вы можете проверить ссылку ниже событий https://github.com/matinict/Magento-2-Events
Я страдаю от того, что разные люди разделяют разные события, но ни одна точность не потеряла мое время, в конце концов, это просто уловки, обратитесь к вашему провайдеру magento 2 и т.д. / event.xml, надеюсь, это поможет разработчику magento 2
источник