Skip to content
  1. Extras
  2. MiniShop3
  3. Development
  4. Events

Events and plugins

MiniShop3 uses the MODX event system to extend functionality. Plugins let you hook into cart, order, product and customer processing without changing the source code.

Getting started

  • Working with plugins — how to get parameters, abort an operation, modify data, pass data between plugins

Events by category

Cart

EventDescription
msOnBeforeGetCartBefore getting cart
msOnGetCartAfter getting cart
msOnBeforeAddToCartBefore adding product
msOnAddToCartAfter adding product
msOnBeforeChangeInCartBefore changing quantity
msOnChangeInCartAfter changing quantity
msOnBeforeChangeOptionsInCartBefore changing options
msOnChangeOptionInCartAfter changing options
msOnBeforeRemoveFromCartBefore removing product
msOnRemoveFromCartAfter removing product
msOnBeforeEmptyCartBefore clearing cart
msOnEmptyCartAfter clearing cart
msOnGetStatusCartGetting cart status

Order

EventDescription
msOnBeforeAddToOrderBefore adding field to order
msOnAddToOrderAfter adding field
msOnBeforeValidateOrderValueBefore field validation
msOnValidateOrderValueAfter field validation
msOnErrorValidateOrderValueValidation error
msOnBeforeRemoveFromOrderBefore removing field
msOnRemoveFromOrderAfter removing field
msOnSubmitOrderOrder submission
msOnBeforeCreateOrderBefore creating order
msOnCreateOrderAfter creating order

Cost

EventDescription
msOnBeforeGetCartCostBefore cart cost calculation
msOnGetCartCostAfter cart cost calculation
msOnBeforeGetDeliveryCostBefore delivery cost calculation
msOnGetDeliveryCostAfter delivery cost calculation
msOnBeforeGetPaymentCostBefore payment fee calculation
msOnGetPaymentCostAfter payment fee calculation

Order status

EventDescription
msOnBeforeChangeOrderStatusBefore status change
msOnChangeOrderStatusAfter status change

Customer

EventDescription
msOnBeforeGetOrderCustomerBefore getting customer
msOnGetOrderCustomerAfter getting customer
msOnBeforeAddToCustomerBefore adding field
msOnAddToCustomerAfter adding field
msOnBeforeValidateCustomerValueBefore field validation
msOnValidateCustomerValueAfter field validation
msOnErrorValidateCustomerValueValidation error
msOnBeforeCreateCustomerBefore creating customer
msOnCreateCustomerAfter creating customer
msOnBeforeAddCustomerAddressBefore adding address
msOnAddCustomerAddressAfter adding address

Products (catalog)

EventDescription
msOnGetProductPriceProduct price modification
msOnGetProductWeightProduct weight modification
msOnGetProductFieldsProduct fields modification

Order products

EventDescription
msOnBeforeCreateOrderProductBefore adding product to order
msOnCreateOrderProductAfter adding product
msOnBeforeUpdateOrderProductBefore updating product
msOnUpdateOrderProductAfter updating product
msOnBeforeRemoveOrderProductBefore removing product
msOnRemoveOrderProductAfter removing product

Order model (xPDO)

EventDescription
msOnBeforeSaveOrderBefore save (xPDO)
msOnSaveOrderAfter save (xPDO)
msOnBeforeRemoveOrderBefore remove (xPDO)
msOnRemoveOrderAfter remove (xPDO)
msOnBeforeUpdateOrderBefore update (manager)
msOnUpdateOrderAfter update (manager)

Notifications

EventDescription
msOnBeforeSendNotificationBefore sending notification
msOnAfterSendNotificationAfter sending notification
msOnRegisterNotificationChannelsChannel registration

Vendors

EventDescription
msOnBeforeVendorCreateBefore creating vendor
msOnVendorCreateAfter creating
msOnBeforeVendorUpdateBefore updating
msOnVendorUpdateAfter updating
msOnBeforeVendorDeleteBefore deleting
msOnVendorDeleteAfter deleting

Import

EventDescription
msOnBeforeImportBefore import start
msOnAfterImportAfter import complete
msOnImportRowWhen processing a row

Manager

EventDescription
msOnManagerCustomCssJsLoading scripts and styles

Changes from miniShop2

miniShop2MiniShop3Changes
productmsProductParameter renamed
msOnGetOrderCostSplit into 3 eventsmsOnGetCartCost, msOnGetDeliveryCost, msOnGetPaymentCost
controllerNew parameter in all controller events
msOnBeforeValidateCustomerValueNew event
msOnCreateCustomerNew event
msOnAddCustomerAddressNew event
msOnBeforeSendNotificationNew event
msOnImportRowNew event