Как создать пользовательское событие и наблюдателя?


Я знаю о том, как использовать основные события Magento 2. Но я хочу знать, как создавать пользовательские события и как переопределять контроллер.

Заранее благодарю

Author: Arunprabakaran M, 2018-02-19

2 answers

Шаги по созданию пользовательского оверсервера событий

Определите имя события ur в events.xml и создайте файл класса для того же, что и в приведенной ниже кодировке.

Vendor/Module/Observer/CustomObserverMethod.php

namespace Vendor\Module\Observer;

use Magento\Framework\Event\ObserverInterface;

class CustomObserverMethod implements ObserverInterface
{
    /**
     * custom event handler
     *
     * @param \Magento\Framework\Event\Observer $observer
     * @return void
     */
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
      //logic herer
    }
}

Vendor/Module/etc/events.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="custom_observer_name">
        <observer name="custom_observer_method" instance="Vendor\Module\Observer\CustomObserverMethod"/>
    </event>
</config>

Ссылка на ссылку: https://webkul.com/blog/how-to-create-custom-observers-in-magento2/

 2
Author: Navin Bhudiya, 2019-04-04 07:25:36

Объявите это имя события (custom_observer_name) в методе выполнения контроллера

$this->_eventManager->dispatch(
                    'custom_observer_name',
                    [$this->getRequest()->getParams()]
                );
 0
Author: Arunprabakaran M, 2019-06-24 10:42:21