
Events
The following events are available:
UserEventsOnEventBeforeSaveUserEventsOnEventSave— save eventevent— event object
UserEventsOnEventBeforeRemoveUserEventsOnEventRemove— remove eventevent— event object
UserEventsOnBeforeChangeStatusUserEventsOnChangeStatus— event status changeinstance— event entitystatus— status ID
UserEventsOnBeforeAddToOrderUserEventsOnAddToOrder— add order fieldkey— field keyvalue— field value
UserEventsOnBeforeValidateOrderValueUserEventsOnValidateOrderValue— validate order fieldkey— field keyvalue— field value
UserEventsOnBeforeRemoveFromOrderUserEventsOnRemoveFromOrder— remove order fieldkey— field keyorder— order object
UserEventsOnBeforeEmptyOrderUserEventsOnEmptyOrder— clear orderorder— order object
UserEventsOnBeforeGetOrderCostUserEventsOnGetOrderCost— get order costorder— order objectcost— cost
UserEventsOnSubmitOrder— process orderorder— order objectdata— data array
UserEventsOnBeforeCreateOrderUserEventsOnCreateOrder— create ordermsOrder— order objectorder— order object
UserEventsOnDaysState— day statestate— state arrayorder— order object
UserEventsOnTimesState— time statestate— state arrayorder— order object
Examples
Calculate event cost:
php
<?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;
// calculate cost with your own logic
if ($resource = $modx->getObject("modResource", $rid)) {
$cost = $resource->get("id") * 100;
}
$values["cost"] = $cost;
$modx->event->returnedValues = $values;
break;
}
?>