Use the below events to develop plugins to extend or add more features for your store
Standard events
Use these events to handle standard actions
- onEasyshopBeforeDelete($context, $table)
- onEasyshopAfterDelete($context, $table)
- onEasyshopBeforeSave($context, $table, $isNew)
- onEasyshopAfterSave($context, $table, $isNew)
- onEasyshopChangeState($context, $pks, $value)
- onEasyshopPrepareForm($form, $data)
- onEasyshopPrepareItem($context, $item): prepare item from the front-end
Order events
Use these events to handle order
- onEasyshopOrderAfterSave(\ES\Order $order, $isNew): after save order everywhere
- onEasyshopOrderFinished(\ES\Order $order): the order is created by customer
- onEasyshopOrderPaid(\ES\Order $order): the order is paid by a payment callback
- onEasyshopOrderRefund(\ES\Order $order): the order is refund by a payment callback
- onEasyshopOrderUnpaid(\ES\Order $order): : the order is unpaid by a payment callback
Product events
Use these events to handle product. For eg: add new display area, fields, tabs... in the product detail page
You must keep the events in the product detail layout if you use a template override and still want to use
these events
- onEasyshopAdminProductPrepare($product): prepare product object from the back-end
- onEasyshopProductPrepare($product): prepare product object from the front-end
- onProductBeforeDisplay($product): before display product detail page
- onProductAfterDisplayName($product): after display product name in the product detail page
- onProductAfterDisplaySummary($product): after display product summary in the product detail page
- onProductAfterDisplayFields($product): after display product fields in the product detail page
- onProductBeforeRenderTab($product): before render tab in the product detail page
- onProductAfterDisplay($product): after display all content of product in the product detail page
Customer events
- onEasyshopCustomerNavbarPrepare(&$navbar): prepare customer navbar in the customer page
- onEasyshopCustomerRegisterPageLayout($pageLayouts, $page): register page layout to sync with customer navbar
Email events
- onEasyshopBeforeSendEmail($mailer, $email, $order): before send a system email
- onEasyshopAfterSendEmail($mailer, $email, $order): after sent a system email success
Cron job events
If you create a plugin with group is easyshop or easyshoppayment or easyshopshipping and want to trigger
into cron job cli. Simply create a static method Plg{Group}{element}::on{group}ExecuteCron
For eg: PlgEasyshopMyPlugin::onEasyshopExecuteCron with none params