X

Magento 2: Как получить список всех event-ов при загрузке страницы

Сегодня мне потребовалось посмотреть какие из event-ов запускаются при сохранении продукта. Сделать это можно так..

Создаем отдельный модуль или куда нибудь в существующий добавляем временный Plugin

/app/code/<vendor>/<name>/di.xml

<type name="Magento\Framework\Event\ManagerInterface">
    <plugin name="list_all_dispatched_event" type="<vendor>\<name>\Plugin\ListDispatchedEvents" sortOrder="10" disabled="false"/>
</type>

Далее создаем сам плагин

/app/code/<vendor>/<name>/Plugin/ListDispatchedEvents.php

<?php
namespace Ewave\Support\Plugin;

class ListDispatchedEvents
{
    public function beforeDispatch($subject, $eventName, array $data = [])
    {
        $writer = new \Zend\Log\Writer\Stream(BP.'/var/log/events-log.txt');
        $logger = new \Zend\Log\Logger();
        $logger->addWriter($writer);
        $logger->info($eventName);
    }
}

Далее, перезагружаем нужную страницу или отправляем форму и все event-ы будут ззалогированы в <проект>/var/log/events-log.txt

Категории: CMS Magento
Тэги: eventeventsmagento