1. Go to this page and download the library: Download maximaster/tools.events library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
maximaster / tools.events example snippets
//Создаем инстанс нашего загрузчика
$eventListener = new \Maximaster\Tools\Events\Listener();
//Добавляем соответствие между пространством имен и директорией, в которой будет производиться поиск обработчиков
//с этим пространством имен
$eventListener->addNamespace('Maximaster\\EventHandlers', $_SERVER['DOCUMENT_ROOT']. '/local/EventHandlers');
//Вызываем метод регистрации, который соберет все классы и вызовет для всех функцию AddEventHandler
$eventListener->register();
namespace Maximaster\EventHandlers\Bitrix\Main;
use Maximaster\Tools\Events\BaseEvent;
class OnPageStart extends BaseEvent
{
/**
* @eventSort 100
*/
public static function myEventHandler()
{
//код первого обработчика
}
/**
* @eventSort 200
*/
public static function myEventHandler2()
{
//код второго обработчика
}
}
namespace Maximaster\EventHandlers\Bitrix\Main;
use Maximaster\Tools\Events\BaseEvent;
class OnPageStart extends BaseEvent
{
protected static $sort = array(
'myEventHandler' => 100,
'myEventHandler2' => 200,
);
public static function myEventHandler()
{
//код первого обработчика
}
public static function myEventHandler2()
{
//код второго обработчика
}
}
class OnPageStart extends BaseEvent
{
public static function myEventHandler() {
self::setData('uniqueDataKey', 'dataValue');
}
}
//.......
class OnEndEpilog extends BaseEvent
{
public static function anotherEventHandler() {
$data = self::getData('uniqueDataKey');
}
}
/**
* @eventLink OnAfterIblockElementUpdate
* @eventLink OnAfterIblockElementDelete
* @eventLink OnPageStart
*/
public static function OnAfterIblockElementAdd()
{
//Здесь код, который будет обрабатывать и обновление, добавление элемента инфоблока
}
/**
* @eventVersion 2
* Данный обработчик будет зарегистрирован как новый,
*/
public function saveOrder(Bitrix\Main\Event $event)
{
}
$eventListener = new \Maximaster\Tools\Events\Listener();
// Все обработчики событий, находящиеся в директоири BitrixD7 будут зарегистрированы как новые
$eventListener->addNamespace(
'\\Maximaster\\EventHandlers\\BitrixD7',
__DIR__ . '/../classes/Maximaster/EventHandlers/BitrixD7',
false, 2
);
// А в директории Bitrix - как старые
$eventListener->addNamespace(
'\\Maximaster\\EventHandlers\\Bitrix',
__DIR__ . '/../classes/Maximaster/EventHandlers/Bitrix',
false, 1
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.