События

Какие уже события отслеживаются?

При установке модуля сразу  регистрируются обработчики  на события:
  1. OnPageStart (main)  во время подключения пролога,  поиск соответствия короткой ссылки

События модуля «Короткие ссылки и UTM метки» доступные для использования

Так как модуль написан используя новое ядро битрикса -  D7, то в модуле доступны события добавления, редактирования, удаления записей из базы данных для следующих классов:
  • \Bxmaker\ShortLink\ManagerTable
  • \Bxmaker\ShortLink\StatTable
Учтите, что в коде события не пишется полное название класса, то есть вместо ManagerTable необходимо писать просто Manager.

/* события - OnBeforeAdd, OnAfterAdd, OnBeforeDelete, OnAfterDelete, OnBeforeUpdate, OnAfterUpdate */

AddEventHandler('bxmaker.shortlink', '\Bxmaker\ShortLink\Manager::OnBeforeAdd', 'bxmaker_shortlink_onBeforeAdd');


use \Bitrix\Main\Entity; /* стоку разместить в начале файла */

function bxmaker_shortlink_onBeforeAdd(Entity\Event $event)
{
    $result = new Entity\EventResult;
    $data = $event->getParameter("fields");

    if (isset($data['TAG']))
    {   
       /* редактирование значения поля тег перед сохранением */      
        $result->modifyFields(array('TAG' => '[PROG] ' . $data['TAG'] ));    
    }

    // $result->unsetFields(array('HASH'));
}