(via Events)
This article will talk about Events List in Magento 2. As you know, Magento 2 is using the events driven architecture which will help too much to extend the Magento functionality. We can understand this event as a kind of flag that rises when a specific situation happens. We will use an example module Mageplaza_HelloWorld to exercise this lesson.
Dispatch event
In Magento 2 Events List, we can use the class Magento\Framework\Event\Manager to dispatch event. For example, we create a controller action in Mageplaza_HelloWorld to show the word “Hello World” on the screen:
File: app/code/Mageplaza/HelloWorld/Controller/Hello/World.php
<?php namespace Mageplaza\HelloWorld\Controller\Hello; class World extends \Magento\Framework\App\Action\Action { public function execute() { echo 'Hello World'; exit; }1 }
Now we want to dispatch an magento 2 event list which allow other module can change the word displayed. We will change the controller like this:
File: app/code/Mageplaza/HelloWorld/Controller/Hello/World.php
<?php namespace Mageplaza\HelloWorld\Controller\Hello; class World extends \Magento\Framework\App\Action\Action { public function execute() { $textDisplay = new \Magento\Framework\DataObject(array('text' => 'Mageplaza')); $this->_eventManager->dispatch('mageplaza_helloworld_display_text', ['text' => $textDisplay]); echo $textDisplay->getText(); exit; } }
The dispatch method will receive 2 arguments: an unique event name and an array data. In this example, we add the data object to the event and call it back to display the text.
Catch and handle event
Event area
Magento use area definition to manage the store. We will have a frontend area and admin area. With the configuration file, they can be put in 3 places:
Under etc/ folder is the configuration which can be used in both admin and frontend.
Under etc/frontend folder will be used for frontend area.
Under etc/adminhtml folder will be used for admin area.
The same with the event configuration file. You can create events configuration file for each area like this:
Admin area: app/code/Mageplaza/HelloWorld/etc/adminhtml/events.xml
Frontend area: app/code/Mageplaza/HelloWorld/etc/frontend/events.xml
Global area: app/code/Mageplaza/HelloWorld/etc/events.xml
Create events.xml
In this example, we only catch the event to show the word Mageplaza on the frontend so we should create an events.xml file in etc/frontend folder.
File: app/code/Mageplaza/HelloWorld/etc/frontend/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="mageplaza_helloworld_display_text"> <observer name="hello_world_display" instance="Mageplaza\HelloWorld\Observer\ChangeDisplayText" /> </event> </config>
In this file, under config element, we define an event element with the name is the event name which was dispatch above. The class which will execute this event will be define in the observer element by instance attribute. The name of observer is used to identify this with other observers of this event.
With this events.xml file, Magento will execute class Mageplaza\HelloWorld\Observer\ChangeDisplayText whenever the dispatch method of this event was called on frontend area. Please note that, we place events.xml in the frontend area, so if you dispatch that event in the admin area (like admin controller), it will not run.
Observer
Now we will create a class to execute above event.
File: app/code/Mageplaza/HelloWorld/Observer/ChangeDisplayText.php
<?php namespace Mageplaza\HelloWorld\Observer; class ChangeDisplayText implements \Magento\Framework\Event\ObserverInterface { public function execute(\Magento\Framework\Event\Observer $observer) { $displayText = $observer->getData('text'); $displayText->setText('Execute event successfully.'); return $this; } }
This class will implement the ObserverInterface and declare the execute method. You can see this simple method to know how it work.
Let’s flush cache and see the result.
List all events in Magento 2
Events in PHP FilesFileEvent name
Authorizenet/Controller/Directpost/Payment/Place.phpcheckout_directpost_placeOrder
Backend/Block/System/Store/Edit/AbstractForm.phpadminhtml_store_edit_form_prepare_form
Backend/Block/Template.phpadminhtml_block_html_before
Backend/Block/Widget/Grid.phpbackend_block_widget_grid_prepare_grid_before
Backend/Console/Command/CacheCleanCommand.phpadminhtml_cache_flush_system
Backend/Console/Command/CacheFlushCommand.phpadminhtml_cache_flush_all
Backend/Controller/Adminhtml/Cache/CleanImages.phpclean_catalog_images_cache_after
Backend/Controller/Adminhtml/Cache/CleanMedia.phpclean_media_cache_after
Backend/Controller/Adminhtml/Cache/CleanStaticFiles.phpclean_static_files_cache_after
Backend/Controller/Adminhtml/Cache/FlushAll.phpadminhtml_cache_flush_all
Backend/Controller/Adminhtml/Cache/FlushSystem.phpadminhtml_cache_flush_system
Backend/Controller/Adminhtml/System/Design/Save.phptheme_save_after
Backend/Controller/Adminhtml/System/Store/DeleteStorePost.phpstore_delete
Backend/Controller/Adminhtml/System/Store/Save.phpstore_group_save
Backend/Controller/Adminhtml/System/Store/Save.phpNO_MATCH
Backend/Model/Auth.phpbackend_auth_user_login_success
Backend/Model/Auth.phpbackend_auth_user_login_failed
Backend/Model/Auth.phpbackend_auth_user_login_failed
Bundle/Block/Catalog/Product/View/Type/Bundle.phpcatalog_product_option_price_configuration_after
Bundle/Model/Product/Price.phpprepare_catalog_product_collection_prices
Bundle/Model/Product/Price.phpcatalog_product_get_final_price
Bundle/Model/Product/Price.phpcatalog_product_get_final_price
Bundle/Model/ResourceModel/Indexer/Price.phpcatalog_product_prepare_index_select
Bundle/Pricing/Price/BundleSelectionPrice.phpcatalog_product_get_final_price
Catalog/Block/Adminhtml/Category/Tab/Attributes.phpadminhtml_catalog_category_edit_prepare_form
Catalog/Block/Adminhtml/Category/Tabs.phpadminhtml_catalog_category_tabs
Catalog/Block/Adminhtml/Category/Tree.phpadminhtml_catalog_category_tree_is_moveable
Catalog/Block/Adminhtml/Category/Tree.phpadminhtml_catalog_category_tree_can_add_root_category
Catalog/Block/Adminhtml/Category/Tree.phpadminhtml_catalog_category_tree_can_add_sub_category
Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Advanced.phpproduct_attribute_form_build
Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.phpproduct_attribute_form_build_front_tab
Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Front.phpadminhtml_catalog_product_attribute_edit_frontend_prepare_form
Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Main.phpadminhtml_product_attribute_types
Catalog/Block/Adminhtml/Product/Attribute/Edit/Tab/Main.phpproduct_attribute_form_build_main_tab
Catalog/Block/Adminhtml/Product/Attribute/Grid.phpproduct_attribute_grid_build
Catalog/Block/Adminhtml/Product/Attribute/NewAttribute/Product/Attributes.phpadminhtml_catalog_product_edit_prepare_form
Catalog/Block/Adminhtml/Product/Attribute/NewAttribute/Product/Attributes.phpadminhtml_catalog_product_edit_element_types
Catalog/Block/Adminhtml/Product/Attribute/Set/Main.phpadminhtml_catalog_product_attribute_set_main_html_before
Catalog/Block/Adminhtml/Product/Attribute/Set/Toolbar/Main.phpadminhtml_catalog_product_attribute_set_toolbar_main_html_before
Catalog/Block/Adminhtml/Product/Edit/Action/Attribute/Tab/Attributes.phpadminhtml_catalog_product_form_prepare_excluded_field_list
Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes/Create.phpadminhtml_catalog_product_edit_tab_attributes_create_html_before
Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes.phpadminhtml_catalog_product_edit_prepare_form
Catalog/Block/Adminhtml/Product/Edit/Tab/Attributes.phpadminhtml_catalog_product_edit_element_types
Catalog/Block/Adminhtml/Product/Grid.phpadminhtml_catalog_product_grid_prepare_massaction
Catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.phpcatalog_product_gallery_prepare_layout
Catalog/Block/Product/AbstractProduct.phpcatalog_block_product_status_display
Catalog/Block/Product/ListProduct.phpcatalog_block_product_list_collection
Catalog/Block/Product/ProductList/Upsell.phpcatalog_product_upsell
Catalog/Block/Product/View/Options.phpcatalog_product_option_price_configuration_after
Catalog/Block/Product/View.phpcatalog_product_view_config
Catalog/Block/Rss/Category.phprss_catalog_category_xml_callback
Catalog/Block/Rss/Product/NewProducts.phprss_catalog_new_xml_callback
Catalog/Block/Rss/Product/Special.phprss_catalog_special_xml_callback
Catalog/Block/ShortcutButtons.phpshortcut_buttons_container
Catalog/Controller/Adminhtml/Category/Delete.phpcatalog_controller_category_delete
Catalog/Controller/Adminhtml/Category/Edit.phpcategory_prepare_ajax_response
Catalog/Controller/Adminhtml/Category/Save.phpcatalog_category_prepare_save
Catalog/Controller/Adminhtml/Product/Action/Attribute/Save.phpcatalog_product_to_website_change
Catalog/Controller/Adminhtml/Product/Edit.phpcatalog_product_edit_action
Catalog/Controller/Adminhtml/Product/Gallery/Upload.phpcatalog_product_gallery_upload_image_after
Catalog/Controller/Adminhtml/Product/NewAction.phpcatalog_product_new_action
Catalog/Controller/Adminhtml/Product/Save.phpcontroller_action_catalog_product_save_entity_after
Catalog/Controller/Category/View.phpcatalog_controller_category_init_after
Catalog/Controller/Product/Compare/Add.phpcatalog_product_compare_add_product
Catalog/Controller/Product/Compare/Remove.phpcatalog_product_compare_remove_product
Catalog/Helper/Product/View.phpcatalog_controller_product_view
Catalog/Helper/Product.phpcatalog_controller_product_init_before
Catalog/Helper/Product.phpcatalog_controller_product_init_after
Catalog/Model/Category.php_move_before
Catalog/Model/Category.php_move_after
Catalog/Model/Category.phpcategory_move
Catalog/Model/Product/Action.phpcatalog_product_attribute_update_before
Catalog/Model/Product/Attribute/Source/Inputtype.phpadminhtml_product_attribute_types
Catalog/Model/Product/Type/AbstractType.phpNO_MATCH
Catalog/Model/Product/Type/Price.phpcatalog_product_get_final_price
Catalog/Model/Product.php_validate_before
Catalog/Model/Product.php_validate_after
Catalog/Model/Product.phpcatalog_product_is_salable_before
Catalog/Model/Product.phpcatalog_product_is_salable_after
Catalog/Model/ResourceModel/Category/Collection.php_load_before
Catalog/Model/ResourceModel/Category/Collection.php_load_after
Catalog/Model/ResourceModel/Category/Collection.php_add_is_active_filter
Catalog/Model/ResourceModel/Category/Flat/Collection.php_load_before
Catalog/Model/ResourceModel/Category/Flat/Collection.php_load_after
Catalog/Model/ResourceModel/Category/Flat/Collection.php_add_is_active_filter
Catalog/Model/ResourceModel/Category/Flat.phpcatalog_category_tree_init_inactive_category_ids
Catalog/Model/ResourceModel/Category/Flat.phpcatalog_category_flat_loadnodes_before
Catalog/Model/ResourceModel/Category/Tree.phpcatalog_category_tree_init_inactive_category_ids
Catalog/Model/ResourceModel/Category.phpcatalog_category_change_products
Catalog/Model/ResourceModel/Product/Collection.phpcatalog_prepare_price_select
Catalog/Model/ResourceModel/Product/Collection.phpcatalog_product_collection_load_after
Catalog/Model/ResourceModel/Product/Collection.phpcatalog_product_collection_before_add_count_to_categories
Catalog/Model/ResourceModel/Product/Collection.phpcatalog_product_collection_apply_limitations_after
Catalog/Model/ResourceModel/Product/Compare/Item/Collection.phpcatalog_product_compare_item_collection_clear
Catalog/Model/ResourceModel/Product/Indexer/Eav/AbstractEav.phpprepare_catalog_product_index_select
Catalog/Model/ResourceModel/Product/Indexer/Eav/Decimal.phpprepare_catalog_product_index_select
Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.phpprepare_catalog_product_index_select
Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.phpprepare_catalog_product_index_select
Catalog/Model/ResourceModel/Product/Indexer/Price/DefaultPrice.phpprepare_catalog_product_index_select
Catalog/Model/ResourceModel/Product.phpcatalog_product_delete_after_done
Catalog/Model/Rss/Product/NotifyStock.phprss_catalog_notify_stock_collection_select
Catalog/Plugin/Model/Product/Action/UpdateAttributesFlushCache.phpclean_cache_by_tags
CatalogImportExport/Model/Import/Product.phpcatalog_product_import_bunch_delete_after
CatalogImportExport/Model/Import/Product.phpcatalog_product_import_finish_before
CatalogImportExport/Model/Import/Product.phpcatalog_product_import_bunch_save_after
CatalogInventory/Model/Indexer/Stock/AbstractAction.phpclean_cache_by_tags
CatalogRule/Block/Adminhtml/Promo/Catalog/Edit/Tab/Main.phpadminhtml_promo_catalog_edit_tab_main_prepare_form
CatalogRule/Controller/Adminhtml/Promo/Catalog/Save.phpadminhtml_controller_catalogrule_prepare_save
CatalogRule/Model/Indexer/AbstractIndexer.phpclean_cache_by_tags
CatalogSearch/Model/Indexer/Fulltext/Action/DataProvider.phpcatelogsearch_searchable_attributes_load_after
CatalogSearch/Model/Indexer/Fulltext/Action/Full.phpcatelogsearch_searchable_attributes_load_after
CatalogSearch/Model/ResourceModel/Fulltext.phpcatalogsearch_reset_search_result
Checkout/Block/QuoteShortcutButtons.phpshortcut_buttons_container
Checkout/Controller/Cart/Add.phpcheckout_cart_add_product_complete
Checkout/Controller/Cart/UpdateItemOptions.phpcheckout_cart_update_item_complete
Checkout/Controller/Onepage/SaveOrder.phpcheckout_controller_onepage_saveOrder
Checkout/Controller/Onepage/Success.phpcheckout_onepage_controller_success_action
Checkout/Helper/Data.phpcheckout_allow_guest
Checkout/Model/Cart.phpcheckout_cart_product_add_after
Checkout/Model/Cart.phpcheckout_cart_update_items_before
Checkout/Model/Cart.phpcheckout_cart_update_items_after
Checkout/Model/Cart.phpcheckout_cart_save_before
Checkout/Model/Cart.phpcheckout_cart_save_after
Checkout/Model/Cart.phpcheckout_cart_product_update_after
Checkout/Model/Session.phpcustom_quote_process
Checkout/Model/Session.phpcheckout_quote_init
Checkout/Model/Session.phpload_customer_quote_before
Checkout/Model/Session.phpcheckout_quote_destroy
Checkout/Model/Session.phprestore_quote
Checkout/Model/Type/Onepage.phpcheckout_type_onepage_save_order_after
Checkout/Model/Type/Onepage.phpcheckout_submit_all_after
Cms/Block/Adminhtml/Page/Edit/Tab/Content.phpadminhtml_cms_page_edit_tab_content_prepare_form
Cms/Block/Adminhtml/Page/Edit/Tab/Design.phpadminhtml_cms_page_edit_tab_design_prepare_form
Cms/Block/Adminhtml/Page/Edit/Tab/Main.phpadminhtml_cms_page_edit_tab_main_prepare_form
Cms/Block/Adminhtml/Page/Edit/Tab/Meta.phpadminhtml_cms_page_edit_tab_meta_prepare_form
Cms/Controller/Adminhtml/Page/Delete.phpadminhtml_cmspage_on_delete
Cms/Controller/Adminhtml/Page/Delete.phpadminhtml_cmspage_on_delete
Cms/Controller/Adminhtml/Page/Save.phpcms_page_prepare_save
Cms/Controller/Router.phpcms_controller_router_match_before
Cms/Helper/Page.phpcms_page_render
Cms/Helper/Wysiwyg/Images.phpcms_wysiwyg_images_static_urls_allowed
Config/Block/System/Config/Form/Fieldset/Modules/DisableOutput.phpadminhtml_system_config_advanced_disableoutput_render_before
Config/Model/Config.phpNO_MATCH
ConfigurableProduct/Model/Product/Validator/Plugin.phpcatalog_product_validate_variations_before
Cookie/Controller/Index/NoCookies.phpcontroller_action_nocookies
CurrencySymbol/Model/System/Currencysymbol.phpadmin_system_config_changed_section_currency_before_reinit
CurrencySymbol/Model/System/Currencysymbol.phpadmin_system_config_changed_section_currency
Customer/Block/Adminhtml/Edit/Tab/Carts.phpadminhtml_block_html_before
Customer/Controller/Account/CreatePost.phpcustomer_register_success
Customer/Controller/Adminhtml/Index/Save.phpadminhtml_customer_prepare_save
Customer/Controller/Adminhtml/Index/Save.phpadminhtml_customer_save_after
Customer/Model/AccountManagement.phpcustomer_customer_authenticated
Customer/Model/AccountManagement.phpcustomer_data_object_login
Customer/Model/Address/AbstractAddress.phpcustomer_address_format
Customer/Model/Customer.phpcustomer_customer_authenticated
Customer/Model/Customer.phpcustomer_validate
Customer/Model/ResourceModel/CustomerRepository.phpcustomer_save_after_data_object
Customer/Model/Session.phpcustomer_session_init
Customer/Model/Session.phpcustomer_login
Customer/Model/Session.phpcustomer_data_object_login
Customer/Model/Session.phpcustomer_login
Customer/Model/Session.phpcustomer_data_object_login
Customer/Model/Session.phpcustomer_logout
Customer/Model/Visitor.phpvisitor_init
Customer/Model/Visitor.phpvisitor_activity_save
Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractMain.phpadminhtml_block_eav_attribute_edit_form_init
Eav/Model/Entity/Collection/AbstractCollection.phpeav_collection_abstract_load_before
GiftMessage/Block/Message/Inline.phpgift_options_prepare_items
GroupedProduct/Model/ResourceModel/Product/Indexer/Price/Grouped.phpcatalog_product_prepare_index_select
Indexer/Model/Processor/InvalidateCache.phpclean_cache_after_reindex
Multishipping/Controller/Checkout/ShippingPost.phpcheckout_controller_multishipping_shipping_post
Multishipping/Controller/Checkout/Success.phpmultishipping_checkout_controller_success_action
Multishipping/Model/Checkout/Type/Multishipping.phpcheckout_type_multishipping_set_shipping_items
Multishipping/Model/Checkout/Type/Multishipping.phpcheckout_type_multishipping_create_orders_single
Multishipping/Model/Checkout/Type/Multishipping.phpcheckout_submit_all_after
Multishipping/Model/Checkout/Type/Multishipping.phpcheckout_multishipping_refund_all
PageCache/Model/Cache/Type.phpadminhtml_cache_refresh_type
PageCache/Model/Layout/DepersonalizePlugin.phpdepersonalize_clear_session
Payment/Block/Form/Cc.phppayment_form_block_to_html_before
Payment/Model/Cart.phppayment_cart_collect_items_and_amounts
Payment/Model/Method/AbstractMethod.phppayment_method_is_active
Payment/Model/Method/Adapter.phppayment_method_is_active
Payment/Model/Method/Adapter.phppayment_method_assign_data_
Paypal/Controller/Express/AbstractExpress/PlaceOrder.phppaypal_express_place_order_success
Persistent/Controller/Index/UnsetCookie.phppersistent_session_expired
Persistent/Observer/CheckExpirePersistentQuoteObserver.phppersistent_session_expired
Quote/Model/Cart/Totals/ItemConverter.phpitems_additional_data
Quote/Model/Quote/Address/ToOrder.phpsales_convert_quote_to_order
Quote/Model/Quote/Item.phpsales_quote_item_qty_set_after
Quote/Model/Quote/Item.phpsales_quote_item_set_product
Quote/Model/Quote/Payment.php_import_data_before
Quote/Model/Quote/TotalsCollector.phpsales_quote_collect_totals_before
Quote/Model/Quote/TotalsCollector.phpsales_quote_collect_totals_after
Quote/Model/Quote/TotalsCollector.phpsales_quote_address_collect_totals_before
Quote/Model/Quote/TotalsCollector.phpsales_quote_address_collect_totals_after
Quote/Model/Quote.phpsales_quote_remove_item
Quote/Model/Quote.phpsales_quote_add_item
Quote/Model/Quote.phpsales_quote_product_add_after
Quote/Model/Quote.php_merge_before
Quote/Model/Quote.php_merge_after
Quote/Model/QuoteManagement.phpcheckout_submit_before
Quote/Model/QuoteManagement.phpcheckout_submit_all_after
Quote/Model/QuoteManagement.phpsales_model_service_quote_submit_before
Quote/Model/QuoteManagement.phpsales_model_service_quote_submit_success
Quote/Model/QuoteManagement.phpsales_model_service_quote_submit_failure
Quote/Model/ResourceModel/Quote/Address/Collection.php_load_after
Quote/Model/ResourceModel/Quote/Item/Collection.phpprepare_catalog_product_collection_prices
Quote/Model/ResourceModel/Quote/Item/Collection.phpsales_quote_item_collection_products_after_load
Reports/Block/Adminhtml/Grid.phpadminhtml_widget_grid_filter_collection
Reports/Model/ResourceModel/Order/Collection.phpsales_prepare_amount_expression
Review/Controller/Product.phpreview_controller_product_init_before
Review/Controller/Product.phpreview_controller_product_init
Review/Controller/Product.phpreview_controller_product_init_after
Review/Model/ResourceModel/Rating/Collection.phprating_rating_collection_load_before
Review/Model/ResourceModel/Review/Collection.phpreview_review_collection_load_before
Review/Model/Rss.phprss_catalog_review_collection_select
Sales/Block/Adminhtml/Reorder/Renderer/Action.phpadminhtml_customer_orders_add_action_renderer
Sales/Controller/Adminhtml/Order/AddressSave.phpadmin_sales_order_address_update
Sales/Controller/Adminhtml/Order/Create.phpadminhtml_sales_order_create_process_data_before
Sales/Controller/Adminhtml/Order/Create.phpadminhtml_sales_order_create_process_data
Sales/Controller/Adminhtml/Order/CreditmemoLoader.phpadminhtml_sales_order_creditmemo_register_before
Sales/Model/AdminOrder/Create.phpsales_convert_order_to_quote
Sales/Model/AdminOrder/Create.phpsales_convert_order_item_to_quote_item
Sales/Model/AdminOrder/Create.phpcheckout_submit_all_after
Sales/Model/Config/Backend/Email/AsyncSending.phpsales_email_general_async_sending
Sales/Model/Config/Backend/Grid/AsyncIndexing.phpdev_grid_async_indexing
Sales/Model/Order/Address/Renderer.phpcustomer_address_format
Sales/Model/Order/Email/Sender/CreditmemoCommentSender.phpemail_creditmemo_comment_set_template_vars_before
Sales/Model/Order/Email/Sender/CreditmemoSender.phpemail_creditmemo_set_template_vars_before
Sales/Model/Order/Email/Sender/InvoiceCommentSender.phpemail_invoice_comment_set_template_vars_before
Sales/Model/Order/Email/Sender/InvoiceSender.phpemail_invoice_set_template_vars_before
Sales/Model/Order/Email/Sender/OrderCommentSender.phpemail_order_comment_set_template_vars_before
Sales/Model/Order/Email/Sender/OrderSender.phpemail_order_set_template_vars_before
Sales/Model/Order/Email/Sender/ShipmentCommentSender.phpemail_shipment_comment_set_template_vars_before
Sales/Model/Order/Email/Sender/ShipmentSender.phpemail_shipment_set_template_vars_before
Sales/Model/Order/Invoice.phpsales_order_invoice_pay
Sales/Model/Order/Invoice.phpsales_order_invoice_cancel
Sales/Model/Order/Invoice.phpsales_order_invoice_register
Sales/Model/Order/Item.phpsales_order_item_cancel
Sales/Model/Order/Payment/Operations/CaptureOperation.phpsales_order_payment_capture
Sales/Model/Order/Payment/Transaction.php_html_txn_id
Sales/Model/Order/Payment.phpsales_order_payment_place_start
Sales/Model/Order/Payment.phpsales_order_payment_place_end
Sales/Model/Order/Payment.phpsales_order_payment_pay
Sales/Model/Order/Payment.phpsales_order_payment_cancel_invoice
Sales/Model/Order/Payment.phpsales_order_payment_void
Sales/Model/Order/Payment.phpsales_order_payment_refund
Sales/Model/Order/Payment.phpsales_order_payment_cancel_creditmemo
Sales/Model/Order/Payment.phpsales_order_payment_cancel
Sales/Model/Order/Status.phpsales_order_status_unassign
Sales/Model/Order.phpsales_order_place_before
Sales/Model/Order.phpsales_order_place_after
Sales/Model/Order.phporder_cancel_after
Sales/Model/ResourceModel/Attribute.php_save_attribute_before
Sales/Model/ResourceModel/Attribute.php_save_attribute_after
Sales/Model/ResourceModel/Order/Address/Collection.php_load_after
Sales/Model/ResourceModel/Order/Collection/AbstractCollection.php_set_sales_order
Sales/Model/ResourceModel/Sale/Collection.phpsales_sale_collection_query_before
Sales/Model/Rss/NewOrder.phprss_order_new_collection_select
Sales/Model/Service/CreditmemoService.phpsales_order_creditmemo_cancel
Sales/Model/Service/CreditmemoService.phpsales_order_creditmemo_refund
Sales/Model/Service/OrderService.phpsales_order_state_change_before
SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Actions.phpadminhtml_block_salesrule_actions_prepareform
SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Coupons/Form.phpadminhtml_promo_quote_edit_tab_coupons_form_prepare_form
SalesRule/Block/Adminhtml/Promo/Quote/Edit/Tab/Main.phpadminhtml_promo_quote_edit_tab_main_prepare_form
SalesRule/Block/Adminhtml/Promo/Widget/Chooser.phpadminhtml_block_promo_widget_chooser_prepare_collection
SalesRule/Controller/Adminhtml/Promo/Quote/Save.phpadminhtml_controller_salesrule_prepare_save
SalesRule/Model/Quote/Discount.phpsales_quote_address_discount_item
SalesRule/Model/Quote/Discount.phpsales_quote_address_discount_item
SalesRule/Model/Rule/Condition/Combine.phpsalesrule_rule_condition_combine
SalesRule/Model/Rule.phpsalesrule_rule_get_coupon_types
SalesRule/Model/RulesApplier.phpsalesrule_validator_process
Search/Controller/Adminhtml/Term/Report.phpon_view_report
SendFriend/Controller/Product/Send.phpsendfriend_product
Store/Model/Address/Renderer.phpstore_address_format
Swatches/Controller/Adminhtml/Iframe/Show.phpswatch_gallery_upload_image_after
Tax/Controller/Adminhtml/Tax/IgnoreTaxNotification.phpadminhtml_cache_refresh_type
Tax/Model/Calculation/Rate.phptax_settings_change_after
Tax/Model/Calculation/Rate.phptax_settings_change_after
Tax/Model/Calculation/Rate.phptax_settings_change_after
Tax/Model/Calculation/Rule.phptax_settings_change_after
Tax/Model/Calculation/Rule.phptax_settings_change_after
Tax/Model/Calculation.phptax_rate_data_fetch
Theme/Block/Html/Topmenu.phppage_block_html_topmenu_gethtml_before
Theme/Block/Html/Topmenu.phppage_block_html_topmenu_gethtml_after
Theme/Model/Config.phpassign_theme_to_stores_after
Theme/Observer/CheckThemeIsAssignedObserver.phpassigned_theme_changed
Theme/Setup/InstallData.phptheme_registration_from_filesystem
User/Block/Role.phppermissions_role_html_before
User/Controller/Adminhtml/User/Role/SaveRole.phpadmin_permissions_role_prepare_save
User/Model/User.phpadmin_user_authenticate_before
User/Model/User.phpadmin_user_authenticate_after
Wishlist/Block/Customer/Wishlist/Item/Options.phpproduct_option_renderer_init
Wishlist/Controller/Index/Add.phpwishlist_add_product
Wishlist/Controller/Index/Send.phpwishlist_share
Wishlist/Controller/Index/UpdateItemOptions.phpwishlist_update_item
Wishlist/Helper/Data.phpwishlist_items_renewed
Wishlist/Model/ResourceModel/Item/Collection.phpwishlist_item_collection_products_after_load
Wishlist/Model/Rss/Wishlist.phprss_wishlist_xml_callback
Wishlist/Model/Wishlist.phpwishlist_add_item
Wishlist/Model/Wishlist.phpwishlist_product_add_after
lib/internal/Magento/Framework/App/Action/Action.phpcontroller_action_predispatch
lib/internal/Magento/Framework/App/Action/Action.phpcontroller_action_predispatch_
lib/internal/Magento/Framework/App/Action/Action.phpcontroller_action_predispatch_
lib/internal/Magento/Framework/App/Action/Action.phpcontroller_action_postdispatch_
lib/internal/Magento/Framework/App/Action/Action.phpcontroller_action_postdispatch_
lib/internal/Magento/Framework/App/Action/Action.phpcontroller_action_postdispatch
lib/internal/Magento/Framework/App/Cron.phpdefault
lib/internal/Magento/Framework/App/FrontController.phpNO_MATCH
lib/internal/Magento/Framework/App/Http.phpNO_MATCH
lib/internal/Magento/Framework/App/Http.phpcontroller_front_send_response_before
lib/internal/Magento/Framework/App/View.phpcontroller_action_layout_render_before
lib/internal/Magento/Framework/App/View.phpcontroller_action_layout_render_before_
lib/internal/Magento/Framework/Controller/Noroute/Index.phpcontroller_action_noroute
lib/internal/Magento/Framework/Data/AbstractSearchResult.phpabstract_search_result_load_before
lib/internal/Magento/Framework/Data/AbstractSearchResult.php_load_before
lib/internal/Magento/Framework/Data/AbstractSearchResult.phpabstract_search_result_load_after
lib/internal/Magento/Framework/Data/AbstractSearchResult.php_load_after
lib/internal/Magento/Framework/DataObject/Copy.phpNO_MATCH
lib/internal/Magento/Framework/Event/Collection.phpNO_MATCH
lib/internal/Magento/Framework/Event/Manager.phpNO_MATCH
lib/internal/Magento/Framework/Event/Observer/Collection.phpNO_MATCH
lib/internal/Magento/Framework/Event.phpNO_MATCH
lib/internal/Magento/Framework/Locale/Currency.phpcurrency_display_options_forming
lib/internal/Magento/Framework/Message/Manager.phpsession_abstract_clear_messages
lib/internal/Magento/Framework/Message/Manager.phpsession_abstract_add_message
lib/internal/Magento/Framework/Model/AbstractModel.phpmodel_load_before
lib/internal/Magento/Framework/Model/AbstractModel.php_load_before
lib/internal/Magento/Framework/Model/AbstractModel.phpmodel_load_after
lib/internal/Magento/Framework/Model/AbstractModel.php_load_after
lib/internal/Magento/Framework/Model/AbstractModel.phpmodel_save_commit_after
lib/internal/Magento/Framework/Model/AbstractModel.php_save_commit_after
lib/internal/Magento/Framework/Model/AbstractModel.phpmodel_save_before
lib/internal/Magento/Framework/Model/AbstractModel.php_save_before
lib/internal/Magento/Framework/Model/AbstractModel.phpmodel_save_after
lib/internal/Magento/Framework/Model/AbstractModel.phpclean_cache_by_tags
lib/internal/Magento/Framework/Model/AbstractModel.php_save_after
lib/internal/Magento/Framework/Model/AbstractModel.phpmodel_delete_before
lib/internal/Magento/Framework/Model/AbstractModel.php_delete_before
lib/internal/Magento/Framework/Model/AbstractModel.phpmodel_delete_after
lib/internal/Magento/Framework/Model/AbstractModel.phpclean_cache_by_tags
lib/internal/Magento/Framework/Model/AbstractModel.php_delete_after
lib/internal/Magento/Framework/Model/AbstractModel.phpmodel_delete_commit_after
lib/internal/Magento/Framework/Model/AbstractModel.php_delete_commit_after
lib/internal/Magento/Framework/Model/AbstractModel.php_clear
lib/internal/Magento/Framework/Model/ResourceModel/Db/Collection/AbstractCollection.phpcore_collection_abstract_load_before
lib/internal/Magento/Framework/Model/ResourceModel/Db/Collection/AbstractCollection.php_load_before
lib/internal/Magento/Framework/Model/ResourceModel/Db/Collection/AbstractCollection.phpcore_collection_abstract_load_after
lib/internal/Magento/Framework/Model/ResourceModel/Db/Collection/AbstractCollection.php_load_after
lib/internal/Magento/Framework/Model/ResourceModel/Db/VersionControl/RelationComposite.php_process_relation
lib/internal/Magento/Framework/View/Element/AbstractBlock.phpview_block_abstract_to_html_before
lib/internal/Magento/Framework/View/Element/Messages.phpview_message_block_render_grouped_html_after
lib/internal/Magento/Framework/View/Layout/Builder.phplayout_load_before
lib/internal/Magento/Framework/View/Layout/Builder.phplayout_generate_blocks_before
lib/internal/Magento/Framework/View/Layout/Builder.phplayout_generate_blocks_after
lib/internal/Magento/Framework/View/Layout/Generator/Block.phpcore_layout_block_create_after
lib/internal/Magento/Framework/View/Layout.phpcore_layout_render_element
lib/internal/Magento/Framework/View/Result/Layout.phplayout_render_before
lib/internal/Magento/Framework/View/Result/Layout.phplayout_render_before_
JavaScript Varien EventsFileEvent name
lib/web/mage/adminhtml/form.jsformSubmit
lib/web/mage/adminhtml/form.jsaddress_country_changed
lib/web/mage/adminhtml/grid.jsgridRowClick
lib/web/mage/adminhtml/grid.jsgridRowDblClick
lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.jstinymceSubmit
lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.jstinymcePaste
lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.jstinymceBeforeSetContent
lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.jstinymceSetContent
lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.jstinymceSaveContent
lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.jstinymceChange
lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.jstinymceExecCommand
lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.jsopen_browser_callback
lib/web/mage/adminhtml/wysiwyg/widget.jstinymceChange
Next tutorial:
Routing »
Module Development Series
Using VirtualType
UI Bookmark Component
Sticky Header Component
Prompt Widget
Plugin - Interceptor
Add an URL Rewrite
Download Magento 2
Magento 2 Working Demo with sample data














