Добавление обработчиков событий в ваш кастомный модуль — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «Для регистрации обработчиков событий, необходимо в папку вашего модуля, к примеру '''classes/mod…»)
 
Строка 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.