В файл модуля module.php вносится список с указанием номера действия и его названия:
/** * List of Schedule Actions * @var array */ protected $_scheduleActions = array( 0 => 'foo', 1 => 'bar', );
Текстовые названия описываются в языковых файлах модуля в директории i18n
для каждого языка по схеме
'schedule-foo' => 'Первое действие', 'schedule-bar' => 'Второе действие',
При наступлении события, модуль вызывает метод callSchedule($action, $entityId)
с передачей в него номера действия (см. _scheduleActions) и ID объекта, над которым действие производится.
Внутри метода реализуется соответствующая логика:
/** * Notify module on the action on schedule * @param int $action action number * @param int $entityId entity ID * @return array */ public function callSchedule($action, $entityId) { // В случае, если у вас всегда ID объекта обязан быть if ($entityId) { switch ($action) { // Foo case 0: // Do smth. break; // Bar case 1: // Do smth. break; } } }