liventin/base.module.result.modifier.injection

Service for inject events before and after result modifier in bitrix components

v1.0.0 2025-08-08 07:45 UTC

This package is auto-updated.

Last update: 2025-09-08 08:04:22 UTC


README

Bitrix Base Module
Bitrix Handlers Service For Base Events

install | update

"require": {
    "liventin/base.module.result.modifier.injection": "@stable"
}

redirect (optional)

"extra": {
  "service-redirect": {
    "liventin/base.module.result.modifier.injection": "base.module",
  }
}

example

// in file /local/templates/.default/components/bitrix/crm.kanban/.default/result_modifier.php

defined('B_PROLOG_INCLUDED') || die;

/** Bitrix
 * @var array $arResult
 * @global CMain $APPLICATION
 * @var CBitrixComponentTemplate $this
 */

use Base\Module\Service\Container;
use Base\Module\Service\ResultModifier\ComponentEventSender;

try {
    Loader::requireModule('base.module');

    /** @var ComponentEventSender $redirect */
    $redirect = Container::get(ComponentEventSender::SERVICE_CODE);
    $redirect->redirectToNextTemplateWithEvents($this, $arParams, $arResult);

} catch (Throwable $e) {
    ShowError($e->getMessage());
}

EventHandler

<?php

namespace Base\Module\Handlers;

use Base\Module\Src\ResultModifier\Senders\BaseSender;
use Bitrix\Main\Event;
use Base\Module\Service\Handlers\Handler;

class CrmKanbanEvent
{
    #[Handler(module: 'bitrix:crm.kanban', event: BaseSender::AFTER_RESULT)]
    public static function afterResult(Event $event): void
    {
        $arResult = $event->getParameter('arResult');
        .....
        $event->setParameter('arResult', $arResult);
    }
}