События

18 октября 2017, 12:43

Доступны следующие события:

  • UserEventsOnEventBeforeSave
  • UserEventsOnEventSave - сохранение события
    • event - событие объект
  • UserEventsOnBeforeChangeStatus
  • UserEventsOnChangeStatus - смена статуса события
    • instance - сущность событие
    • status - идентификатор статуса
  • UserEventsOnBeforeAddToOrder
  • UserEventsOnAddToOrder - добавление поля заказа
    • key - ключ поля
    • value - значение поля
  • UserEventsOnBeforeValidateOrderValue
  • UserEventsOnValidateOrderValue - валидация поля заказа
    • key - ключ поля
    • value - значение поля
  • UserEventsOnBeforeRemoveFromOrder
  • UserEventsOnRemoveFromOrder - удаление поля заказа
    • key - ключ поля
    • order - заказ объект
  • UserEventsOnBeforeEmptyOrder
  • UserEventsOnEmptyOrder - очистка заказа
    • order - заказ объект
  • UserEventsOnBeforeGetOrderCost
  • UserEventsOnGetOrderCost - получение стоимости заказа
    • order - заказ объект
    • cost - стоимость
  • UserEventsOnSubmitOrder - обработка заказа
    • order - заказ объект
    • data - данные массив
  • UserEventsOnBeforeCreateOrder
  • UserEventsOnCreateOrder - создание заказа
    • msOrder - заказ объект
    • order - заказ объект

Примеры

Расчитать стоимость события

<?php

switch ($modx->event->name) {

    case "UserEventsOnBeforeGetOrderCost":
        /** @var UserEventsOrderInterface $orderHandler */
        $orderHandler = $modx->getOption("order", $scriptProperties);
        if (!$orderHandler OR !($orderHandler instanceof UserEventsOrderInterface)) {
            return;
        }
        $values = $modx->Event->returnedValues;
        $data = $orderHandler->get();
        $rid = $modx->getOption("resource", $data);

        $cost = 0;
        // расчет стоимости согласно своей логике
        if ($resource = $modx->getObject("modResource", $rid)) {
            $cost = $resource->get("id") * 100;
        }
        $values["cost"] = $cost;

        $modx->event->returnedValues = $values;
        break;

}

Предыдущий документ
Скрипты и стили
Следующий документ
Расширения