Добавление обработчиков событий в ваш кастомный модуль — различия между версиями
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.