# Events
The oc-mall plugin emits the following events:
# Order
# mall.order.beforeCreate
An order is about to be created. This event receives the $cart
model that is about to be converted into an Order
model.
# mall.order.afterCreate
An order has been created. This event receives the $order
model and $cart
model that was used to create the order.
# mall.order.state.changed
An order's OrderState
has changed. This event receives the modified $order
as a single argument.
# mall.order.tracking.changed
An order's tracking information has changed. This event receives the modified $order
as a single argument.
# mall.order.payment_state.changed
An order's payment state has changed. This event receives the modified $order
as a single argument.
# mall.order.shipped
An order has been marked as shipped. This event receives the shipped $order
as a single argument.
# Customer
# mall.customer.beforeSignup
This event is emitted before a new customer account is created. This event receives the SignupHandler
implementation
and all sign up form data as arguments.
# mall.customer.afterSignup
This event is emitted after a new customer account was created. This event receives the SignupHandler
implementation
and the created User
model as arguments.
# mall.customer.beforeAuthenticate
This event is emitted when a existing customer tries to sign in. This event receives the SignupHandler
implementation and the provided credentials as arguments.
# Cart
# mall.cart.product.added
This event is emitted when a product has been added to the cart. It receives the following arguments:
CartProduct
model that was updated in the cart
# mall.cart.product.removed
This event is emitted when a product has been removed from the cart. It receives the following arguments:
CartProduct
model that was removed from the cart
# mall.cart.product.updating
This event is emitted before a cart product is being updated. It receives the following arguments:
CartProduct
model that was updated in the cart
# mall.cart.product.updated
This event is emitted when a cart product was updated. It receives the following arguments:
CartProduct
model that was updated in the cart
# mall.cart.product.quantityChanged
This event is emitted when the quantity of a cart product has changed. It receives the following arguments:
CartProduct
model that was updated in the cartoldQuantity
the old quantity valuenewQuantity
the new quantity value
# Checkout
# mall.checkout.succeeded
This event is emitted when a checkout has been completed successfully. It receives a PaymentResult
as a single
argument.
# mall.checkout.failed
This event is emitted when there was a problem during the checkout process. It receives a PaymentResult
as a single
argument.
# Review
# mall.review.created
This event is emitted when a review was created. It receives the created Review
model as a single
argument.
# mall.review.updated
This event is emitted when a review was updated. It receives the updated Review
model as a single
argument.
# Product
# mall.product.file_grant.created
This event is emitted when a product file grant was created. It receives the created ProductFileGrant
model as
well as the related Product
model.
For a usage example see Virtual Products -> Generate user specific product files
# Index
# mall.index.extendProduct
and mall.index.extendVariant
This event can be used to add additional data to the index table.
It receives the Product
model (for Products) or the Product
and Variant
models (for Variants). You can return an array of additional data to be stored with the index entry.