Добавление обработчиков событий в ваш кастомный модуль — различия между версиями
Kublan (обсуждение | вклад) |
Kublan (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | '''Актуально для версии 18 85081''' | ||
+ | |||
Для регистрации обработчиков событий, необходимо в папку вашего модуля, к примеру '''classes/components/mymodule/''' добавить файл '''events.php''', в котором прописать обработчики для событий, допустим: | Для регистрации обработчиков событий, необходимо в папку вашего модуля, к примеру '''classes/components/mymodule/''' добавить файл '''events.php''', в котором прописать обработчики для событий, допустим: | ||
<source lang="php"> | <source lang="php"> |
Текущая версия на 12:05, 15 мая 2018
Актуально для версии 18 85081
Для регистрации обработчиков событий, необходимо в папку вашего модуля, к примеру classes/components/mymodule/ добавить файл events.php, в котором прописать обработчики для событий, допустим:
<?php
new umiEventListener("systemSwitchElementActivity", "mymodule", "onChangeActivity");
?>
Потом можно создать файл handlers.php и прописать в нем методы обработчики:
<?php
class MymoduleHandlers {
/** @var catalog $module */
public $module;
public function onChangeActivity(iUmiEventPoint $oEventPoint) {
....
}
};
?>
И в основном файле classes/components/mymodule/class.php, в методе конструкторе __construct() подключить класс (файл) с обработчиками событий:
$this->__loadLib("event.php");
$this->__implement("MymoduleHandlers");
Примеры можно посмотреть во многих модулях. Файл events.php для модуля подключается автоматически, в классе umiEventsController.
Для старой реализации модулей, необходимо в папку вашего модуля, к примеру classes/modules/mymodule/ добавить файл events.php, в котором прописать обработчики для событий, допустим:
<?php
new umiEventListener("systemSwitchElementActivity", "mymodule", "onChangeActivity");
?>
Потом можно создать файл __event_handlers.php и прописать в нем методы обработчики:
<?php
abstract class __mymodule_handlers {
public function onChangeActivity(iUmiEventPoint $oEventPoint) {
....
}
};
?>
И в основном файле classes/modules/mymodule/class.php, в методе конструкторе __construct() подключить класс (файл) с обработчиками событий:
$this->__loadLib("__event_handlers.php");
$this->__implement("__mymodule_handlers");
Примеры можно посмотреть во многих модулях. Файл events.php для модуля подключается автоматически, в классе umiEventsController.