Выдано 112032 лицензии

Использование планировщика в собственных модулях

В файл модуля 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;
			}
		}
	}

Не нашли ответ на свой вопрос в документации? Направьте обращение в или онлайн чат.