Magento events list and observers are one of many different solutions to extending the core functionality of a Magento 2 powered eCommerce store. Thanks to events or observers, you can run your custom codes in response to a specific Magento event or even with a custom event. In this tutorial, we’re going to look at how to use the Magento events list in Magento 2
What are Magento events?
Magento 2 events are applied to run custom code in response to any particular Magento 2 event or custom event. Magento enables you to generate your own events that can be dispatched in your code. When an event is dispatched, it can pass data to any observers configured to watch that event.
What are observers in Magento?
Observers are a certain type of Magento class that can influence general behavior, performance, or change business logic. Observers are executed whenever the event they are configured to watch is dispatched by the event manager. Besides, observers are applied for catching the action which was triggered before or after events. In observers, you can set the required features or logic that is to be executed in response.
Example of Using Events in Magento 2:
The following the table lists the Magento 2 Events. authorizenet/Controller/Directpost/Payment/Place.phpcheckout_directpost_placeOrder
File | Event |
---|---|
vendor/magento/module-backend/Block/System/Store/Edit/AbstractForm.php | adminhtml_store_edit_form_prepare_form |
vendor/magento/module-backend/Block/Template.php | adminhtml_block_html_before |
vendor/magento/module-backend/Block/Widget/Grid.php | backend_block_widget_grid_prepare_grid_before |
vendor/magento/module-backend/Console/Command/CacheCleanCommand.php | adminhtml_cache_flush_system |
vendor/magento/module-backend/Console/Command/CacheFlushCommand.php | adminhtml_cache_flush_all |
vendor/magento/module-backend/Controller/Adminhtml/Cache/CleanImages.php | clean_catalog_images_cache_after |
vendor/magento/module-backend/Controller/Adminhtml/Cache/CleanMedia.php | clean_media_cache_after |
vendor/magento/module-backend/Controller/Adminhtml/Cache/CleanStaticFiles.php | clean_static_files_cache_after |
vendor/magento/module-backend/Controller/Adminhtml/Cache/FlushAll.php | adminhtml_cache_flush_all |
vendor/magento/module-backend/Controller/Adminhtml/System/Design/Save.php | theme_save_after |
vendor/magento/module-backend/Controller/Adminhtml/System/Store/DeleteStorePost.php | store_delete |
vendor/magento/module-backend/Controller/Adminhtml/System/Store/Save.php | store_edit |
vendor/magento/module-backend/Controller/Adminhtml/System/Store/Save.php | store_add |
vendor/magento/module-backend/Controller/Adminhtml/System/Store/Save.php | store_group_save |
vendor/magento/module-backend/Model/Auth.php | backend_auth_user_login_success |
vendor/magento/module-backend/Model/Auth.php | backend_auth_user_login_failed |
vendor/magento/module-bundle/Block/Catalog/Product/View/Type/Bundle.php | catalog_product_option_price_configuration_after |
vendor/magento/module-bundle/Model/Product/Price.php | prepare_catalog_product_collection_prices |
vendor/magento/module-bundle/Model/Product/Price.php | catalog_product_get_final_price |
vendor/magento/module-bundle/Model/ResourceModel/Indexer/Price.php | catalog_product_prepare_index_select |
vendor/magento/module-catalog-import-export/Model/Import/Product.php | catalog_product_import_bunch_delete_commit_before |
vendor/magento/module-catalog-import-export/Model/Import/Product.php | catalog_product_import_bunch_delete_commit_after |
vendor/magento/module-catalog-import-export/Model/Import/Product.php | catalog_product_import_finish_before |
vendor/magento/module-catalog-import-export/Model/Import/Product.php | catalog_product_import_bunch_save_after |
vendor/magento/module-catalog-rule/Controller/Adminhtml/Promo/Catalog/Index.php | catalogrule_dirty_notice |
vendor/magento/module-catalog-rule/Controller/Adminhtml/Promo/Catalog/Save.php | adminhtml_controller_catalogrule_prepare_save |
vendor/magento/module-catalog-search/Model/Indexer/Fulltext/Action/DataProvider.php | catelogsearch_searchable_attributes_load_after |
vendor/magento/module-catalog-search/Model/ResourceModel/Fulltext.php | catalogsearch_reset_search_result |
vendor/magento/module-catalog/Block/Adminhtml/Category/Tree.php | adminhtml_catalog_category_tree_is_moveable |
vendor/magento/module-catalog/Block/Adminhtml/Category/Tree.php | adminhtml_catalog_category_tree_can_add_root_category |
vendor/magento/module-catalog/Block/Adminhtml/Category/Tree.php | adminhtml_catalog_category_tree_can_add_sub_category |
vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Advanced.php | product_attribute_form_build |
vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php | product_attribute_form_build_front_tab |
vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.php | adminhtml_catalog_product_attribute_edit_frontend_prepare_form |
vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Main.php | adminhtml_product_attribute_types |
vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Main.php | product_attribute_form_build_main_tab |
/vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/Grid.php | product_attribute_grid_build |
vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/NewAttribute/Product/Attributes.php | adminhtml_catalog_product_edit_prepare_form |
vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/NewAttribute/Product/Attributes.php | adminhtml_catalog_product_edit_element_types |
vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/Set/Main.php | adminhtml_catalog_product_attribute_set_main_html_before |
vendor/magento/module-catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Main.php | adminhtml_catalog_product_attribute_set_toolbar_main_html_before |
vendor/magento/module-catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Attributes.php | adminhtml_catalog_product_form_prepare_excluded_field_list |
vendor/magento/module-catalog/Block/Adminhtml/Product/Edit/Tab/Attributes.php | adminhtml_catalog_product_edit_tab_attributes_create_html_before |
vendor/magento/module-catalog/Block/Adminhtml/Product/Grid.php | adminhtml_catalog_product_grid_prepare_massaction |
vendor/magento/module-catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.php | catalog_product_gallery_prepare_layout |
vendor/magento/module-catalog/Block/Product/AbstractProduct.php | catalog_block_product_status_display |
vendor/magento/module-catalog/Block/Product/ListProduct.php | catalog_block_product_list_collection |
vendor/magento/module-catalog/Block/Product/ProductList/Upsell.php | catalog_product_upsell |
vendor/magento/module-catalog/Block/Product/View.php | catalog_product_view_config |
vendor/magento/module-catalog/Block/Rss/Category.php | rss_catalog_category_xml_callback |
vendor/magento/module-catalog/Block/Rss/Product/NewProducts.php | rss_catalog_new_xml_callback |
vendor/magento/module-catalog/Block/Rss/Product/Special.php | rss_catalog_special_xml_callback |
vendor/magento/module-catalog/Block/ShortcutButtons.php | shortcut_buttons_container |
vendor/magento/module-catalog/Controller/Adminhtml/Category.php | category_prepare_ajax_response |
vendor/magento/module-catalog/Controller/Adminhtml/Category/Delete.php | catalog_controller_category_delete |
vendor/magento/module-catalog/Controller/Adminhtml/Category/Save.php | catalog_category_prepare_save |
vendor/magento/module-catalog/Controller/Adminhtml/Product/Action/Attribute/Save.php | catalog_product_to_website_change |
vendor/magento/module-catalog/Controller/Adminhtml/Product/Edit.php | catalog_product_edit_action |
vendor/magento/module-catalog/Controller/Adminhtml/Product/Gallery/Upload.php | catalog_product_gallery_upload_image_after |
vendor/magento/module-catalog/Controller/Adminhtml/Product/NewAction.php | catalog_product_new_action |
vendor/magento/module-catalog/Controller/Adminhtml/Product/Save.php | controller_action_catalog_product_save_entity_after |
vendor/magento/module-catalog/Controller/Category/View.php | catalog_controller_category_init_after |
vendor/magento/module-catalog/Controller/Product/Compare/Add.php | catalog_product_compare_add_product |
vendor/magento/module-catalog/Controller/Product/Compare/Remove.php | catalog_product_compare_remove_product |
vendor/magento/module-catalog/Helper/Product.php | catalog_controller_product_init_before |
vendor/magento/module-catalog/Helper/Product.php | catalog_controller_product_init_after |
vendor/magento/module-catalog/Helper/Product/View.php | catalog_controller_product_view |
vendor/magento/module-catalog/Model/Category.php | _move_before |
vendor/magento/module-catalog/Model/Category.php | _move_after |
vendor/magento/module-catalog/Model/Category.php | category_move |
vendor/magento/module-catalog/Model/Product.php | _validate_before |
vendor/magento/module-catalog/Model/Product.php | _validate_after |
vendor/magento/module-catalog/Model/Product.php | catalog_product_is_salable_before |
vendor/magento/module-catalog/Model/Product.php | catalog_product_is_salable_after |
vendor/magento/module-catalog/Model/Product/Action.php | catalog_product_attribute_update_before |
vendor/magento/module-catalog/Model/Product/Attribute/Source/Inputtype.php | adminhtml_product_attribute_types |
vendor/magento/module-catalog/Model/Product/Type/AbstractType.php | catalog_product_type_prepare_%s_options |
vendor/magento/module-catalog/Model/ResourceModel/Category.php | catalog_category_change_products |
vendor/magento/module-catalog/Model/ResourceModel/Category.php | catalog_category_delete_after_done |
vendor/magento/module-catalog/Model/ResourceModel/Category/Collection.php | _add_is_active_filter |
vendor/magento/module-catalog/Model/ResourceModel/Category/Flat.php | catalog_category_tree_init_inactive_category_ids |
vendor/magento/module-catalog/Model/ResourceModel/Category/Flat.php | catalog_category_flat_loadnodes_before |
vendor/magento/module-catalog/Model/ResourceModel/Category/Tree.php | catalog_category_tree_init_inactive_category_ids |
vendor/magento/module-catalog/Model/ResourceModel/Product.php | catalog_product_delete_after_done |
vendor/magento/module-catalog/Model/ResourceModel/Product/Collection.php | catalog_prepare_price_select |
vendor/magento/module-catalog/Model/ResourceModel/Product/Collection.php | catalog_product_collection_load_after |
vendor/magento/module-catalog/Model/ResourceModel/Product/Collection.php | catalog_product_collection_before_add_count_to_categories |
vendor/magento/module-catalog/Model/ResourceModel/Product/Collection.php | catalog_product_collection_apply_limitations_after |
vendor/magento/module-catalog/Model/ResourceModel/Product/Compare/Item/Collection.php | catalog_product_compare_item_collection_clear |
vendor/magento/module-catalog/Model/ResourceModel/Product/Indexer/Eav/AbstractEav.php | prepare_catalog_product_index_select |
vendor/magento/module-catalog/Model/Rss/Product/NotifyStock.php | rss_catalog_notify_stock_collection_select |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_productinterface_save_before |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_productinterface_save_after |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_productinterface_delete_before |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_productinterface_delete_after |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_productinterface_load_after |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categoryinterface_save_before |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categoryinterface_save_after |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categoryinterface_delete_before |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categoryinterface_delete_after |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categoryinterface_load_after |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categorytreeinterface_save_before |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categorytreeinterface_save_after |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categorytreeinterface_delete_before |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categorytreeinterface_delete_after |
vendor/magento/module-catalog/etc/events.xml | magento_catalog_api_data_categorytreeinterface_load_after |
vendor/magento/module-catalog/etc/events.xml | admin_system_config_changed_section_catalog |
vendor/magento/module-catalog/etc/events.xml | store_save_after |
vendor/magento/module-catalog-inventory/etc/events.xml | catalog_product_load_after |
vendor/magento/module-catalog-inventory/etc/events.xml | catalog_product_save_before |
vendor/magento/module-catalog-inventory/etc/events.xml | catalog_product_save_after |
vendor/magento/module-catalog-inventory/etc/events.xml | admin_system_config_changed_section_cataloginventory |
vendor/magento/module-catalog-inventory/etc/events.xml | sales_quote_item_collection_products_after_load |
vendor/magento/module-catalog-url-rewrite/etc/events.xml | catalog_category_save_after |
vendor/magento/module-catalog-url-rewrite/etc/events.xml | catalog_product_import_bunch_delete_after |
vendor/magento/module-catalog-url-rewrite/etc/events.xml | catalog_product_delete_before |
vendor/magento/module-catalog-url-rewrite/etc/events.xml | catalog_category_save_before |
vendor/magento/module-catalog-url-rewrite/etc/events.xml | catalog_category_move_after |
vendor/magento/module-config/Block/System/Config/Form/Fieldset/Modules/DisableOutput.php | adminhtml_system_config_advanced_disableoutput_render_before |
vendor/magento/module-config/Model/Config.php | admin_system_config_changed_section_{$this->getSection()} |
vendor/magento/module-config/etc/admihtml/events.xml | admin_system_config_changed_section_admin |
vendor/magento/module-configurable-product/Model/Product/Validator/Plugin.php | catalog_product_validate_variations_before |
vendor/magento/module-cookie/Controller/Index/NoCookies.php | controller_action_nocookies |
vendor/magento/module-currency-symbol/Model/System/Currencysymbol.php | admin_system_config_changed_section_currency_before_reinit |
vendor/magento/module-currency-symbol/Model/System/Currencysymbol.php | admin_system_config_changed_section_currency |
vendor/magento/module-customer/etc/events.xml | customer_address_save_before |
vendor/magento/module-customer/etc/events.xml | customer_address_save_after |
vendor/magento/module-customer/etc/events.xml | sales_quote_save_after |
vendor/magento/module-gift-message/Block/Message/Inline.php | gift_options_prepare_items |
endor/magento/module-customer/Controller/Account/CreatePost.php | customer_register_success |
vendor/magento/module-customer/Controller/Account/EditPost.php | customer_account_edited |
vendor/magento/module-customer/Controller/Adminhtml/Index/Save.php | adminhtml_customer_prepare_save |
vendor/magento/module-customer/Controller/Adminhtml/Index/Save.php | adminhtml_customer_save_after |
vendor/magento/module-customer/Model/AccountManagement.php | customer_customer_authenticated |
vendor/magento/module-customer/Model/AccountManagement.php | customer_data_object_login |
vendor/magento/module-customer/Model/Address/AbstractAddress.php | customer_address_format |
vendor/magento/module-customer/Model/ResourceModel/CustomerRepository.php | customer_save_after_data_object |
vendor/magento/module-customer/Model/Session.php | customer_session_init |
vendor/magento/module-customer/Model/Session.php | customer_login |
vendor/magento/module-customer/Model/Session.php | customer_data_object_login |
vendor/magento/module-customer/Model/Session.php | customer_logout |
vendor/magento/module-customer/Model/Visitor.php | visitor_init |
vendor/magento/module-customer/Model/Visitor.php | visitor_activity_save |
vendor/magento/module-downloadable/etc/events.xml | sales_order_item_save_commit_after |
vendor/magento/module-downloadable/etc/events.xml | sales_order_save_commit_after |
vendor/magento/module-eav/Block/Adminhtml/Attribute/Edit/Main/AbstractMain.php | adminhtml_block_eav_attribute_edit_form_init |
vendor/magento/module-eav/Model/Entity/Collection/AbstractCollection.php | eav_collection_abstract_load_before |
vendor/magento/module-customer/Block/Adminhtml/Edit/Tab/Carts.php
|
adminhtml_block_html_before
|
vendor/magento/module-google-optimizer/etc/events.xml | cms_page_save_after |
vendor/magento/module-google-optimizer/etc/events.xml | cms_page_delete_after |
vendor/magento/module-grouped-product/Model/ResourceModel/Product/Indexer/Price/Grouped.php | catalog_product_prepare_index_select |
vendor/magento/module-indexer/Model/Processor/CleanCache.php | clean_cache_after_reindex |
vendor/magento/module-multishipping/Controller/Checkout/ShippingPost.php | checkout_controller_multishipping_shipping_post |
vendor/magento/module-multishipping/Controller/Checkout/Success.php | multishipping_checkout_controller_success_action |
vendor/magento/module-multishipping/Model/Checkout/Type/Multishipping.php | checkout_type_multishipping_set_shipping_items |
vendor/magento/module-multishipping/Model/Checkout/Type/Multishipping.php | checkout_type_multishipping_create_orders_single |
vendor/magento/module-multishipping/Model/Checkout/Type/Multishipping.php | checkout_submit_all_after |
vendor/magento/module-multishipping/Model/Checkout/Type/Multishipping.php | checkout_multishipping_refund_all |
vendor/magento/module-newsletter/Model/Subscriber.php | newsletter_subscriber_save_commit_after |
vendor/magento/module-newsletter/Model/Subscriber.php | newsletter_subscriber_save_commit_before |
vendor/magento/module-offline-payments/etc/events.xml | sales_order_payment_save_before |
vendor/magento/module-page-cache/Model/Cache/Type.php | adminhtml_cache_refresh_type |
vendor/magento/module-page-cache/Model/Layout/DepersonalizePlugin.php | depersonalize_clear_session |
vendor/magento/module-persistent/Controller/Index/UnsetCookie.php | persistent_session_expired |
vendor/magento/module-payment/Model/Cart.php | payment_cart_collect_items_and_amounts |
vendor/magento/module-payment/Model/Method/AbstractMethod.php | payment_method_is_active |
vendor/magento/module-payment/Model/Method/AbstractMethod.php | payment_method_assign_data_{PAYMENT_CODE} |
vendor/magento/module-payment/Model/Method/AbstractMethod.php | payment_method_assign_data |
vendor/magento/module-payment/etc/events.xml | sales_order_status_unassign |
vendor/magento/module-payment/Block/Form/Cc.php
|
payment_form_block_to_html_before
|
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_blockinterface_save_before |
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_blockinterface_save_after |
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_blockinterface_delete_before |
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_blockinterface_delete_after |
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_blockinterface_load_after |
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_pageinterface_save_before |
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_pageinterface_save_after |
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_pageinterface_delete_before |
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_pageinterface_delete_after |
vendor/magento/module-cms/etc/events.xml | magento_cms_api_data_pageinterface_load_after |
vendor/magento/module-cms/Controller/Adminhtml/Page/Delete.php | adminhtml_cmspage_on_delete |
vendor/magento/module-cms/Controller/Adminhtml/Page/Save.php | cms_page_prepare_save |
vendor/magento/module-cms/Controller/Router.php | cms_controller_router_match_before |
vendor/magento/module-cms/Helper/Page.php | cms_page_render |
vendor/magento/module-cms/Helper/Wysiwyg/Images.php | cms_wysiwyg_images_static_urls_allowed |
vendor/magento/module-quote/Model/Quote/Address/ToOrder.php | sales_convert_quote_to_order |
vendor/magento/module-quote/Model/Cart/Totals/ItemConverter.php | items_additional_data |
vendor/magento/module-quote/Model/Quote.php | sales_quote_remove_item |
vendor/magento/module-quote/Model/Quote.php | sales_quote_add_item |
vendor/magento/module-quote/Model/Quote.php | sales_quote_product_add_after |
vendor/magento/module-quote/Model/Quote.php | sales_quote_merge_before |
vendor/magento/module-quote/Model/Quote.php | sales_quote_merge_after |
vendor/magento/module-quote/Model/Quote/Item.php | sales_quote_item_set_product |
vendor/magento/module-quote/Model/Quote/Item.php | sales_quote_item_qty_set_after |
vendor/magento/module-quote/Model/Quote/Payment.php | sales_quote_payment_import_data_before |
vendor/magento/module-quote/Model/Quote/TotalsCollector.php | sales_quote_collect_totals_before |
vendor/magento/module-quote/Model/Quote/TotalsCollector.php | sales_quote_collect_totals_after |
vendor/magento/module-quote/Model/Quote/TotalsCollector.php | sales_quote_address_collect_totals_after |
vendor/magento/module-quote/Model/QuoteManagement.php | checkout_submit_before |
vendor/magento/module-quote/Model/QuoteManagement.php | checkout_submit_all_after |
vendor/magento/module-quote/Model/QuoteManagement.php | sales_model_service_quote_submit_before |
vendor/magento/module-quote/Model/QuoteManagement.php | sales_model_service_quote_submit_success |
vendor/magento/module-quote/Model/QuoteManagement.php | sales_model_service_quote_submit_failure |
vendor/magento/module-quote/Model/ResourceModel/Quote/Address/Collection.php | sales_quote_address_collection_load_after |
vendor/magento/module-reports/etc/frontend/events.xml | wishlist_add_product |
vendor/magento/module-reports/etc/frontend/events.xml | sales_quote_item_save_before |
vendor/magento/module-reports/etc/frontend/events.xml | sales_quote_item_save_after |
vendor/magento/module-reports/Block/Adminhtml/Grid.php | adminhtml_widget_grid_filter_collection |
vendor/magento/module-reports/Model/ResourceModel/Order/Collection.php | sales_prepare_amount_expression |
vendor/magento/module-review/Controller/Product.php | review_controller_product_init_before |
vendor/magento/module-review/Controller/Product.php | review_controller_product_init |
vendor/magento/module-review/Model/ResourceModel/Rating/Collection.php | rating_rating_collection_load_before |
vendor/magento/module-review/Model/ResourceModel/Review/Collection.php | review_review_collection_load_before |
vendor/magento/module-review/Model/Rss.php | rss_catalog_review_collection_select |
vendor/magento/module-sales/Block/Adminhtml/Reorder/Renderer/Action.php | adminhtml_customer_orders_add_action_renderer |
vendor/magento/module-sales/Model/Order.php | sales_order_load_after |
vendor/magento/module-sales/Model/Order.php | sales_order_save_before |
vendor/magento/module-sales/Model/Order.php | sales_order_save_after |
vendor/magento/module-sales/Model/Order.php | sales_order_delete_before |
vendor/magento/module-sales/Model/Order.php | sales_order_invoice_load_after |
vendor/magento/module-sales/Model/Order.php | sales_order_invoice_load_before |
vendor/magento/module-sales/Model/Order.php | sales_order_shipment_load_after |
vendor/magento/module-sales/Model/Order.php | sales_order_shipment_load_before |
vendor/magento/module-sales/Model/Order.php | sales_order_creditmemo_load_after |
vendor/magento/module-sales/Model/Order.php | sales_order_creditmemo_load_before |
vendor/magento/module-sales/Model/Order.php | sales_order_grid_collection_load_before |
vendor/magento/module-sales/Observer/GridSyncInsertObserver.php | sales_order_invoice_save_after |
vendor/magento/module-sales/Observer/GridSyncInsertObserver.php | sales_order_shipment_save_after |
vendor/magento/module-sales/Observer/GridSyncInsertObserver.php | sales_order_creditmemo_save_after |
vendor/magento/module-sales/etc/adminhtml/events.xml | catalogrule_before_apply |
vendor/magento/module-sales/etc/adminhtml/events.xml | catalogrule_after_apply |
vendor/magento/module-sales/etc/events.xml | sales_order_process_relation |
vendor/magento/module-sales/etc/events.xml | sales_order_invoice_process_relation |
vendor/magento/module-sales/etc/events.xml | sales_order_shipment_process_relation |
vendor/magento/module-sales/etc/events.xml | sales_order_creditmemo_process_relation |
vendor/magento/module-sales/etc/events.xml | sales_order_delete_after |
vendor/magento/module-sales/etc/events.xml | sales_order_invoice_delete_after |
vendor/magento/module-sales/etc/events.xml | sales_order_shipment_delete_after |
vendor/magento/module-sales/etc/events.xml | sales_order_creditmemo_delete_after |
vendor/magento/module-sales/etc/events.xml | admin_sales_order_address_update |
vendor/magento/module-sales/etc/events.xml | sales_order_delete_after |
vendor/magento/module-sales/etc/events.xml | sales_order_invoice_delete_after |
vendor/magento/module-sales/etc/events.xml | sales_order_shipment_delete_after |
vendor/magento/module-sales/etc/events.xml | sales_order_creditmemo_delete_after |
vendor/magento/module-sales/etc/events.xml | sales_order_creditmemo_process_relation |
vendor/magento/module-sales/etc/events.xml | config_data_dev_grid_async_indexing_disabled |
vendor/magento/module-sales/etc/events.xml | config_data_sales_email_general_async_sending_disabled |
vendor/magento/module-sales-rule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.php | adminhtml_block_salesrule_actions_prepareform |
vendor/magento/module-sales-rule/Model/Quote/Discount.php | sales_quote_address_discount_item |
vendor/magento/module-sales-rule/Model/Rule.php | salesrule_rule_get_coupon_types |
vendor/magento/module-sales-rule/Model/Rule/Condition/Combine.php | salesrule_rule_condition_combine |
vendor/magento/module-sales/Controller/Adminhtml/Order/Create.php | adminhtml_sales_order_create_process_data_before |
vendor/magento/module-sales/Controller/Adminhtml/Order/Create.php | adminhtml_sales_order_create_process_item_before |
vendor/magento/module-sales/Controller/Adminhtml/Order/Create.php | adminhtml_sales_order_create_process_item_after |
vendor/magento/module-sales/Controller/Adminhtml/Order/Create.php | adminhtml_sales_order_create_process_data |
vendor/magento/module-sales/Controller/Adminhtml/Order/CreditmemoLoader.php | adminhtml_sales_order_creditmemo_register_before |
vendor/magento/module-sales/Model/AdminOrder/Create.php | sales_convert_order_to_quote |
vendor/magento/module-sales/Model/AdminOrder/Create.php | sales_convert_order_item_to_quote_item |
vendor/magento/module-sales/Model/AdminOrder/Create.php | checkout_submit_all_after |
vendor/magento/module-sales/Model/Order.php | sales_order_place_before |
vendor/magento/module-sales/Model/Order.php | sales_order_place_after |
vendor/magento/module-sales/Model/Order.php | order_cancel_after |
vendor/magento/module-sales/Model/Order/Creditmemo/RefundOperation.php | sales_order_creditmemo_refund |
vendor/magento/module-sales/Model/Order/Invoice.php | sales_order_invoice_pay |
vendor/magento/module-sales/Model/Order/Invoice.php | sales_order_invoice_cancel |
vendor/magento/module-sales/Model/Order/Invoice/PayOperation.php | sales_order_invoice_register |
vendor/magento/module-sales/Model/Order/Item.php | sales_order_item_cancel |
vendor/magento/module-sales/Model/Order/Payment.php | sales_order_payment_place_start |
vendor/magento/module-sales/Model/Order/Payment.php | sales_order_payment_place_end |
vendor/magento/module-sales/Model/Order/Payment.php | sales_order_payment_pay |
vendor/magento/module-sales/Model/Order/Payment.php | sales_order_payment_cancel_invoice |
vendor/magento/module-sales/Model/Order/Payment.php | sales_order_payment_void |
vendor/magento/module-sales/Model/Order/Payment.php | sales_order_payment_refund |
vendor/magento/module-sales/Model/Order/Payment.php | sales_order_payment_cancel_creditmemo |
vendor/magento/module-sales/Model/Order/Payment.php | sales_order_payment_cancel |
vendor/magento/module-sales/Model/ResourceModel/Sale/Collection.php | sales_sale_collection_query_before |
vendor/magento/module-sales/Model/Rss/NewOrder.php | rss_order_new_collection_select |
vendor/magento/module-sales/Model/Service/CreditmemoService.php | sales_order_creditmemo_cancel |
vendor/magento/module-sales/Model/Order/Email/Sender/OrderSender.php | email_order_set_template_vars_before |
vendor/magento/module-sales/Model/Service/OrderService.php | sales_order_state_change_before |
vendor/magento/module-sales/Model/Order/Payment/Operations/CaptureOperation.php | sales_order_payment_capture |
vendor/magento/module-sales/Model/Order/Creditmemo/Sender/EmailSender.php | email_creditmemo_set_template_vars_before |
vendor/magento/module-sales/Model/Order/Creditmemo/Sender/EmailSender.php | email_creditmemo_comment_set_template_vars_befor |
vendor/magento/module-sales/Model/Order/Email/Sender/InvoiceCommentSender.php | email_invoice_comment_set_template_vars_before |
vendor/magento/module-sales/Model/Order/Email/Sender/InvoiceCommentSender.php | email_invoice_set_template_vars_before |
vendor/magento/module-sales/Model/Order/Email/Sender/InvoiceCommentSender.php | email_order_comment_set_template_vars_before |
vendor/magento/module-sales/Model/Order/Email/Sender/ShipmentCommentSender.php | email_shipment_comment_set_template_vars_before |
vendor/magento/module-sales/Model/Order/Email/Sender/ShipmentSender.php | email_shipment_set_template_vars_before |
vendor/magento/module-signifyd/etc/events.xml | paypal_express_place_order_success |
vendor/magento/module-search/Controller/Adminhtml/Term/Report.php | on_view_report |
vendor/magento/module-send-friend/Controller/Product/Send.php | sendfriend_product |
vendor/magento/module-store/Model/Address/Renderer.php | store_address_format |
vendor/magento/module-tax/Model/Calculation.php | tax_rate_data_fetch |
vendor/magento/module-tax/Model/Calculation/Rate.php | tax_settings_change_after |
vendor/magento/module-theme/etc/events.xml | theme_delete_before |
vendor/magento/module-theme/etc/events.xml | theme_save_after |
vendor/magento/module-user/Block/Role.php | permissions_role_html_before |
vendor/magento/module-wishlist/Block/Customer/Wishlist/Item/Options.php | product_option_renderer_init |
vendor/magento/module-wishlist/Controller/Index/Send.php | wishlist_share |
vendor/magento/module-vault/etc/events.xml | payment_method_assign_data |
vendor/magento/module-wishlist/Model/Rss/Wishlist.php | rss_wishlist_xml_callback |
vendor/magento/module-wishlist/Model/Wishlist.php | wishlist_add_item |
vendor/magento/module-wishlist/Model/Wishlist.php | wishlist_product_add_after |
vendor/magento/module-vault/etc/events.xml | sales_order_payment_save_after |
vendor/magento/module-wishlist/Helper/Data.php | wishlist_items_renewed |
vendor/magento/module-vault/etc/events.xml | payment_method_assign_data_vault |
vendor/magento/module-checkout/Controller/Cart/Add.php | checkout_cart_add_product_complete |
vendor/magento/module-checkout/Controller/Cart/UpdateItemOptions.php | checkout_cart_update_item_complete |
vendor/magento/module-checkout/Controller/Onepage/SaveOrder.php | checkout_controller_onepage_saveOrder |
vendor/magento/module-checkout/Controller/Onepage/Success.php | checkout_onepage_controller_success_action |
vendor/magento/module-checkout/Helper/Data.php | checkout_allow_guest |
vendor/magento/module-checkout/Model/Cart.php | checkout_cart_product_add_after |
vendor/magento/module-checkout/Model/Cart.php | checkout_cart_update_items_before |
vendor/magento/module-checkout/Model/Cart.php | checkout_cart_update_items_after |
vendor/magento/module-checkout/Model/Cart.php | checkout_cart_save_before |
vendor/magento/module-checkout/Model/Cart.php | checkout_cart_save_after |
vendor/magento/module-checkout/Model/Cart.php | checkout_cart_product_update_after |
vendor/magento/module-checkout/Model/Session.php | custom_quote_process |
vendor/magento/module-checkout/Model/Session.php | checkout_quote_init |
vendor/magento/module-checkout/Model/Session.php | load_customer_quote_before |
vendor/magento/module-checkout/Model/Session.php | checkout_quote_destroy |
vendor/magento/module-checkout/Model/Session.php | restore_quote |
vendor/magento/module-checkout/Model/Type/Onepage.php | checkout_type_onepage_save_order_after |
vendor/magento/module-checkout/Model/Type/Onepage.php | checkout_submit_all_after |
vendor/magento/framework/App/View.php | controller_action_layout_render_before |
vendor/magento/framework/App/Action/Action.php | controller_action_postdispatch |
vendor/magento/framework/App/Http.php | controller_front_send_response_before |
vendor/magento/framework/App/Action/Action.php
|
controller_action_predispatch
|
vendor/magento/framework/Controller/Noroute/Index.php | controller_action_noroute |
vendor/magento/framework/Data/AbstractSearchResult.php | abstract_search_result_load_before |
vendor/magento/framework/Data/AbstractSearchResult.php | abstract_search_result_load_after |
vendor/magento/framework/Locale/Currency.php | currency_display_options_forming |
vendor/magento/framework/EntityManager/Operation/Create.php | entity_manager_save_after |
vendor/magento/framework/EntityManager/Operation/Delete.php | entity_manager_delete_before |
vendor/magento/framework/EntityManager/Operation/Read.php | entity_manager_load_before |
vendor/magento/framework/EntityManager/Operation/Read.php | entity_manager_load_after |
vendor/magento/framework/Message/Manager.php | session_abstract_add_messages |
vendor/magento/framework/EntityManager/Operation/Update.php | entity_manager_save_after |
vendor/magento/framework/EntityManager/Operation/Create.php
|
entity_manager_save_before
|
vendor/magento/framework/Message/Manager.php | session_abstract_clear_messages |
vendor/magento/framework/EntityManager/Operation/Update.php | entity_manager_save_before |
vendor/magento/framework/Model/AbstractModel.php | model_load_before |
vendor/magento/framework/Model/AbstractModel.php | model_load_after |
vendor/magento/framework/Model/AbstractModel.php | model_save_commit_after |
vendor/magento/framework/Model/AbstractModel.php | model_save_before |
vendor/magento/framework/Model/AbstractModel.php | model_save_after |
vendor/magento/framework/Model/AbstractModel.php | model_delete_before |
vendor/magento/framework/Model/AbstractModel.php | model_delete_after |
vendor/magento/framework/Model/AbstractModel.php | clean_cache_by_tags |
vendor/magento/framework/Model/AbstractModel.php | model_delete_commit_after |
vendor/magento/framework/Model/ResourceModel/Db/Collection/AbstractCollection.php | core_collection_abstract_load_before |
vendor/magento/framework/Model/ResourceModel/Db/Collection/AbstractCollection.php | core_collection_abstract_load_after |
vendor/magento/framework/View/Element/AbstractBlock.php | view_block_abstract_to_html_after |
vendor/magento/framework/View/Element/Messages.php | view_message_block_render_grouped_html_after |
vendor/magento/framework/View/Layout.php | core_layout_render_element |
vendor/magento/framework/View/Layout/Builder.php | layout_load_before |
vendor/magento/framework/View/Layout/Builder.php | layout_generate_blocks_before |
vendor/magento/framework/View/Layout/Builder.php | layout_generate_blocks_after |
vendor/magento/framework/View/Layout/Generator/Block.php | core_layout_block_create_after |
vendor/magento/framework/View/Result/Layout.php | layout_render_before |
vendor/magento/framework/View/Result/Layout.php | layout_render_before_{frontname}_{foldername}_{controllerfile} |
vendor/magento/framework/View/Element/AbstractBlock.php
|
view_block_abstract_to_html_before
|
That’s It. That’s the Magento events list sheet! Now that we understand the events and observers’ terminologies, let’s put them into use!
How to use Events and Observers in Magento 2
1. Create event.xml file
You can generate event.xml file for different areas:
- Global area: app/code/Mage/HelloWorld/etc/events.xml
- Frontend area: app/code/Mage/HelloWorld/etc/frontend/events.xml
- Admin area: app/code/Mage/HelloWorld/etc/adminhtml/events.xml
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"> <event name="my_module_event_before"> <observer name="myObserverName" instance="MyCompany\MyModule\Observer\MyObserver" /> </event> <event name="my_module_event_after"> <observer name="myObserverName" instance="MyCompany\MyModule\Observer\AnotherObserver" /> </event> </config>
2. Create Observer class
If you want to create an observer, you must place your class file under your <module-root>/Observer directory. Your observer class should implement Magento\Framework\Event\ObserverInterface and define its execute function.
You can see the below example for the basic observer class structure:
namespace MyCompany\MyModule\Observer; use Magento\Framework\Event\ObserverInterface; class MyObserver implements ObserverInterface { public function __construct() { // Observer initialization code... // You can use dependency injection to get any class this observer may need. } public function execute(\Magento\Framework\Event\Observer $observer) { // Observer execution code... } }
Subscribing to events
Observers in Magento can be configured to see certain events in the events.xml file.
The observer XML element comes with the following properties:
- name (required) – The name of the observer for the event definition.
- instance (required) – The fully qualified class name of the observer.
- disabled – Determines whether this observer is active or not. The default value is false.
- shared – Determines the lifestyle of the class. Default is true.
You can see the below example to assign observers to watch certain events:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"> <event name="my_module_event_before"> <observer name="myObserverName" instance="MyCompany\MyModule\Observer\MyObserver" /> </event> <event name="my_module_event_after"> <observer name="myObserverName" instance="MyCompany\MyModule\Observer\AnotherObserver" /> </event> </config>
Note that observer names must be unique per event definition. You cannot have two observers with the same name in the same event definition to prevent an override.
3. Dispatch event
Now if you want to dispatch a Magento 2 event list which enables another module to change the word displayed. You can see the following example to dispatch an event with and without an array of data.
Events can be dispatched by utilizing the Magento\Framework\Event\Manager class. This class can be achieved through dependency injection by defining the dependency in your constructor.
namespace MyCompany\MyModule; use Magento\Framework\Event\ManagerInterface as EventManager; class MyClass { /** * @var EventManager */ private $eventManager; public function __construct(EventManager $eventManager) { $this->eventManager = $eventManager; } public function something() { $eventData = null; // Code... $this->eventManager->dispatch('my_module_event_before'); // More code that sets $eventData... $this->eventManager->dispatch('my_module_event_after', ['myEventData' => $eventData]); } }
Conclusion
You’ve now finally learned how to use the Magento events list in Magento 2. You can go ahead and start experimenting with this tutorial and create your own custom events in your Magento 2 store. We hope that you found this tutorial helpful. However, if you find anything unclear about these Magento solutions or any other procedure related to this method, then feel free to contact our Support Team. We’re very pleased to support you
Besides, if you are looking out for a cost effective Magento package for your eCommerce store, then look nowhere other than Magesolution. We not only offer an affordable Magento Development Package for all size and budget but also ensure that it helps your online business grow and sustain. Contact us for a free consultation!