Skip to content

D7 — создание события и обработчика

Yuri edited this page Oct 31, 2016 · 1 revision

Создание события

use Bitrix\Main\Event;

// Создание события
$event = new Event("mymodule", "OnCatalogElementsImport", array('test_string'));
// Вызов события
$event->send();

// Обработка результатов вызова
if ($event->getResults()){
    echo 'Параметры, возвращенные из обработчика';

    /** @var \Bitrix\Main\EventResult $eventResult */
    foreach ($event->getResults() as $eventResult)
    {
        echo "<pre style=\"display:block;\">"; print_r($eventResult->getParameters()); echo "</pre>";
    }
}

Обработчик события

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'mymodule',
    'OnCatalogElementsImport',
    'myHandler'
);

function myHandler(Bitrix\Main\Event $event){
    echo 'Параметры, переданные в обработчик';
    echo "<pre style=\"display:block;\">"; print_r($event->getParameters()); echo "</pre>";

    // Возвращаем в событие результат обработки
    $result = new Bitrix\Main\EventResult($event->getEventType(), array(111, 222));
    return $result;
}
Clone this wiki locally