
События
Доступны следующие события:
PasOnBeforeChangeStatusPasOnChangeStatus- смена статуса сущностиinstance- сущность объектstatus- идентификатор статуса
PasOnBeforeChangeTermPasOnChangeTerm- смена срока подпискиsubscription- подписка объектaction- действиеterm- срок
PasOnClientBeforeSavePasOnClientSave- сохранение клиентаclient- клиент объект
PasOnSubscriptionBeforeSavePasOnSubscriptionSave- сохранение подпискиsubscription- подписка объект
PasOnRateBeforeSavePasOnRateSave- сохранение тарифаrate- тариф объект
PasOnGetRateCost- получение стоимости тарифаrate- тариф объектdata- данные массив
PasOnContentBeforeSavePasOnContentSave- сохранение контентаcontent- контент объект
PasOnGetContentRate- получение тарифа контентаcontent- контент объектrate- тариф объектdata- данные массив
PasOnBeforeAddToOrderPasOnAddToOrder- добавление поля заказаkey- ключ поляvalue- значение поля
PasOnBeforeValidateOrderValuePasOnValidateOrderValue- валидация поля заказаkey- ключ поляvalue- значение поля
PasOnBeforeRemoveFromOrderPasOnRemoveFromOrder- удаление поля заказаkey- ключ поляorder- заказ объект
PasOnBeforeEmptyOrderPasOnEmptyOrder- очистка заказаorder- заказ объект
PasOnBeforeGetOrderCostPasOnGetOrderCost- получение стоимости заказаorder- заказ объектcost- стоимость
PasOnSubmitOrder- обработка заказаorder- заказ объектdata- данные массив
PasOnBeforeCreateOrderPasOnCreateOrder- создание заказа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;
}