События
Доступны следующие события:
PasOnBeforeChangeStatus
PasOnChangeStatus
- смена статуса сущностиinstance
- сущность объектstatus
- идентификатор статуса
PasOnBeforeChangeTerm
PasOnChangeTerm
- смена срока подпискиsubscription
- подписка объектaction
- действиеterm
- срок
PasOnClientBeforeSave
PasOnClientSave
- сохранение клиентаclient
- клиент объект
PasOnSubscriptionBeforeSave
PasOnSubscriptionSave
- сохранение подпискиsubscription
- подписка объект
PasOnRateBeforeSave
PasOnRateSave
- сохранение тарифаrate
- тариф объект
PasOnGetRateCost
- получение стоимости тарифаrate
- тариф объектdata
- данные массив
PasOnContentBeforeSave
PasOnContentSave
- сохранение контентаcontent
- контент объект
PasOnGetContentRate
- получение тарифа контентаcontent
- контент объектrate
- тариф объектdata
- данные массив
PasOnBeforeAddToOrder
PasOnAddToOrder
- добавление поля заказаkey
- ключ поляvalue
- значение поля
PasOnBeforeValidateOrderValue
PasOnValidateOrderValue
- валидация поля заказаkey
- ключ поляvalue
- значение поля
PasOnBeforeRemoveFromOrder
PasOnRemoveFromOrder
- удаление поля заказаkey
- ключ поляorder
- заказ объект
PasOnBeforeEmptyOrder
PasOnEmptyOrder
- очистка заказаorder
- заказ объект
PasOnBeforeGetOrderCost
PasOnGetOrderCost
- получение стоимости заказаorder
- заказ объектcost
- стоимость
PasOnSubmitOrder
- обработка заказаorder
- заказ объектdata
- данные массив
PasOnBeforeCreateOrder
PasOnCreateOrder
- создание заказаmsOrder
- заказ объектorder
- заказ объект
Примеры
Создать тариф для контента сроком 2 дня и стоимость 100 руб.
php
<?php
switch ($modx->event->name) {
case 'PasOnGetContentRate':
/** @var PasContent $content */
/** @var PasRate $rate */
if ($content AND !$rate) {
$rate = $modx->newObject('PasRate');
$rate->fromArray(array(
'content' => $content->get('id'),
'cost' => '100',
'term_value' => '2',
'term_unit' => 'd',
'active' => 1,
));
$scriptProperties['rate'] = $rate;
}
break;
}
Изменения стоимости заказа и возвращения значений из плагина. В данном примере изменяется стоимость заказа.
php
<?php
switch ($modx->event->name) {
case 'PasOnGetOrderCost':
$values = $modx->event->returnedValues;
$values['cost'] = 5000;
$modx->event->returnedValues = $values;
break;
}