Добавление обработчиков событий в ваш кастомный модуль — различия между версиями
VITL' (обсуждение | вклад) (Новая страница: «Для регистрации обработчиков событий, необходимо в папку вашего модуля, к примеру '''classes/mod…») |
Kublan (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | Для регистрации обработчиков событий, необходимо в папку вашего модуля, к примеру '''classes/modules/mymodule/''' добавить файл '''events.php''', в котором прописать обработчики для событий, допустим: | + | Для регистрации обработчиков событий, необходимо в папку вашего модуля, к примеру '''classes/components/mymodule/''' добавить файл '''events.php''', в котором прописать обработчики для событий, допустим: |
+ | <source lang="php"> | ||
+ | <?php | ||
+ | new umiEventListener("systemSwitchElementActivity", "mymodule", "onChangeActivity"); | ||
+ | ?> | ||
+ | </source> | ||
+ | |||
+ | Потом можно создать файл '''handlers.php''' и прописать в нем методы обработчики: | ||
+ | <source lang="php"> | ||
+ | <?php | ||
+ | |||
+ | class MymoduleHandlers { | ||
+ | /** @var catalog $module */ | ||
+ | public $module; | ||
+ | |||
+ | public function onChangeActivity(iUmiEventPoint $oEventPoint) { | ||
+ | .... | ||
+ | } | ||
+ | |||
+ | }; | ||
+ | ?> | ||
+ | </source> | ||
+ | |||
+ | И в основном файле '''classes/components/mymodule/class.php''', в методе конструкторе '''__construct()''' подключить класс (файл) с обработчиками событий: | ||
+ | <source lang="php"> | ||
+ | $this->__loadLib("event.php"); | ||
+ | $this->__implement("MymoduleHandlers"); | ||
+ | </source> | ||
+ | |||
+ | Примеры можно посмотреть во многих модулях. Файл '''events.php''' для модуля подключается автоматически, в классе '''umiEventsController'''. | ||
+ | |||
+ | |||
+ | Для старой реализации модулей, необходимо в папку вашего модуля, к примеру '''classes/modules/mymodule/''' добавить файл '''events.php''', в котором прописать обработчики для событий, допустим: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php |
Версия 12:41, 1 мая 2018
Для регистрации обработчиков событий, необходимо в папку вашего модуля, к примеру 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.