# 插件开发核心:
核心 : plugin 、preference 、 event
*****
## **preference** 覆盖类:
就是重写类,重写注入类,依赖注入。
参考:https://www.mageplaza.com/devdocs/how-use-plugin-preference-rewrite-block-model-controller-helper-magento-2.html
~~~
<preference for="Magento\Contact\Controller\Index\Post" type="ABC\Contact\Controller\Index\Post" />
~~~
*****
## plugin 过滤返回值:
类似 wordpress 的 filter,
参考:https://www.mageplaza.com/magento-2-module-development/magento-2-plugin-interceptor.html
~~~
<config>
<type name="{ObservedType}">
<plugin name="{pluginName}" type="{PluginClassName}" sortOrder="1" disabled="false"/>
</type>
</config>
~~~
*****
## event事件机制:
类似wordpress的 action事件:
参考:https://www.mageplaza.com/magento-2-module-development/magento-2-events.html
~~~
<event name="mageplaza_helloworld_display_text">
<observer name="mp_display_text" instance="Mageplaza\HelloWorld\Observer\ChangeDisplayText" />
</event>
~~~
## 开发系列文章,可以参考:
https://www.mageplaza.com/magento-2-module-development/
* [Magento 2 Module Development](https://www.mageplaza.com/magento-2-module-development/)
* [Create Controller](https://www.mageplaza.com/magento-2-module-development/how-to-create-controllers-magento-2.html)
* [Models (CRUD)](https://www.mageplaza.com/magento-2-module-development/how-to-create-crud-model-magento-2.html)
* [View: Layouts, Block and Templates](https://www.mageplaza.com/magento-2-module-development/view-block-layout-template-magento-2.html)
* [Admin ACL](https://www.mageplaza.com/magento-2-module-development/magento-2-acl-access-control-lists.html)
* [Admin Menu](https://www.mageplaza.com/magento-2-module-development/create-admin-menu-magento-2.html)
* [Configuration - System.xml](https://www.mageplaza.com/magento-2-module-development/create-system-xml-configuration-magento-2.html)
* [Admin Grid](https://www.mageplaza.com/magento-2-module-development/create-admin-grid-magento-2.html)
* [Install / Upgrade script](https://www.mageplaza.com/magento-2-module-development/magento-2-how-to-create-sql-setup-script.html)
* [Magento 2 Events](https://www.mageplaza.com/magento-2-module-development/magento-2-events.html)
* [Routing](https://www.mageplaza.com/magento-2-module-development/magento-2-routing.html)
* [Plugin - Interceptor](https://www.mageplaza.com/magento-2-module-development/magento-2-plugin-interceptor.html)
* [Custom Indexers](https://www.mageplaza.com/magento-2-module-development/magento-2-indexing.html)
* [Add command line](https://www.mageplaza.com/magento-2-module-development/magento-2-how-to-add-command-line-console-cli.html)
* [Command Line Interface CLI](https://www.mageplaza.com/devdocs/magento-2-command-line-interface-cli.html)
* [Magento 2 Add Customer Attribute Programmatically](https://www.mageplaza.com/magento-2-module-development/magento-2-add-customer-attribute-programmatically.html)
* [Add Product Attribute](https://www.mageplaza.com/magento-2-module-development/magento-2-add-product-attribute-programmatically.html)
* [How to Create Module in Magento 2](https://www.mageplaza.com/magento-2-module-development/how-create-hello-world-module-magento-2.html)
* [Magento 2 Module Creator](https://www.mageplaza.com/devdocs/magento-2-module-creator.html)
* [Magento 2 Cache and Page Cache Overview](https://www.mageplaza.com/devdocs/cache-overview-magento-2.html)
* [Rewrite Controller](https://www.mageplaza.com/magento-2-module-development/magento-2-how-to-rewrite-controller.html)
* [Create Event](https://www.mageplaza.com/magento-2-module-development/magento-2-create-events.html)
* [Category Attributes](https://www.mageplaza.com/devdocs/magento-2-category-attributes-programmatically/)
* [Create API](https://www.mageplaza.com/devdocs/magento-2-create-api/)
* [Create Cron Job Programmatically](https://www.mageplaza.com/devdocs/magento-2-create-cron-job/)
* [Create Shipping Method](https://www.mageplaza.com/devdocs/magento-2-create-shipping-method/)
* [Create Payment Method](https://www.mageplaza.com/devdocs/magento-2-create-payment-method/)
* [Magento 2 Create Widget](https://www.mageplaza.com/devdocs/magento-2-create-widget/)
* [Magento 2 Create Model](https://www.mageplaza.com/magento-2-module-development/how-to-create-model-magento-2.html)
* [Resource Model - Model Collection](https://www.mageplaza.com/magento-2-module-development/how-to-create-resource-model-magento-2.html)
* [Factory Object](https://www.mageplaza.com/magento-2-module-development/factory-object-magento-2.html)
* [Add a custom Zipcode validator](https://www.mageplaza.com/devdocs/add-custom-zipcode-validator-magento-2.html)
* [Clear Cache Programmatically](https://www.mageplaza.com/devdocs/clear-cache-programmically-magento-2.html)
* [File Structure](https://www.mageplaza.com/devdocs/file-structure-magento-2.html)
* [6 Steps to Install Magento 2 on CentOS](https://www.mageplaza.com/devdocs/how-install-magento-2-centos.html)
* [4 Steps to Install Magento 2 on Mac OSX](https://www.mageplaza.com/devdocs/how-install-magento-2-mac-osx.html)
* [7 Steps to Install Magento 2 on Ubuntu/Debian](https://www.mageplaza.com/devdocs/how-install-magento-2-ubuntu.html)
* [4 Steps to Install Magento 2 on XAMPP Windows](https://www.mageplaza.com/devdocs/how-install-magento-2-windows.html)
* [How to Connect to Magento 2 using Terminal SSH](https://www.mageplaza.com/devdocs/connect-terminal-ssh-magento-2.html)
* [Areas vs Modules](https://www.mageplaza.com/devdocs/modules-areas-magento-2.html)
* [10 Steps to Speed Up Magento 2](https://www.mageplaza.com/devdocs/speed-up-magento-2.html)
* [Create Helper Class](https://www.mageplaza.com/devdocs/create-helper-class-magento-2.html)
* [Enable Disable Developer Mode](https://www.mageplaza.com/devdocs/enable-disable-developer-mode-magento-2.html)
* [Add custom columns](https://www.mageplaza.com/devdocs/add-custom-columns-magento-2.html)
* [How to make Sidebar sticky](https://www.mageplaza.com/devdocs/how-make-sidebar-sticky-magento-2.html)
* [Add CMS Block in checkout page](https://www.mageplaza.com/devdocs/add-cms-block-checkout-page-magento-2.html)
* [Add Custom Tab in Product Page](https://www.mageplaza.com/devdocs/add-custom-tab-product-page-magento-2.html)
* [Add Quick View feature](https://www.mageplaza.com/devdocs/add-quick-view-feature-magento-2.html)
* [Add a Navigation Link in My Account](https://www.mageplaza.com/devdocs/add-navigation-link-my-account-magento-2.html)
* [Display error Enable error reporting](https://www.mageplaza.com/devdocs/display-error-enable-error-reporting-magento-2.html)
* [Unlock Reindex Process](https://www.mageplaza.com/devdocs/unlock-reindex-process-magento-2.html)
* [Get all payment methods](https://www.mageplaza.com/devdocs/get-all-payment-methods-magento-2.html)
* [Javascript bundling - Group/Combine JS files](https://www.mageplaza.com/devdocs/javascript-bundling-group-combine-js-files-magento-2.html)
* [Add Custom Tab in Customer Account](https://www.mageplaza.com/devdocs/add-custom-tab-customer-account-magento-2.html)
* [Disable a Payment Method Programmatically](https://www.mageplaza.com/devdocs/disable-payment-method-programmatically-magento-2.html)
* [Get Customer Collection](https://www.mageplaza.com/devdocs/get-customer-collection-magento-2.html)
* [Get Product Collection by Category ID](https://www.mageplaza.com/devdocs/get-product-collection-category-magento-2.html)
* [Get All Order Collection with Filters](https://www.mageplaza.com/devdocs/get-all-order-collection-filters-magento-2.html)
* [Get Product Collection Filter By Visibility](https://www.mageplaza.com/devdocs/get-product-collection-filter-visibility-magento-2.html)
* [Get Review, Rating Collection](https://www.mageplaza.com/devdocs/get-review-rating-collection-magento-2.html)
* [Get Best Sellers Collection](https://www.mageplaza.com/devdocs/get-best-sellers-collection-magento-2.html)
* [Get Featured Product Collection](https://www.mageplaza.com/devdocs/get-featured-product-collection-magento-2.html)
* [Get Most Viewed Product Collection](https://www.mageplaza.com/devdocs/get-most-viewed-product-collection-magento-2.html)
* [Get New Products Collection](https://www.mageplaza.com/devdocs/get-new-products-collection-magento-2.html)
* [Get On Sale Products Collection](https://www.mageplaza.com/devdocs/get-on-sale-products-collection-magento-2.html)
* [Get Recent Viewed Products Collection](https://www.mageplaza.com/devdocs/get-recent-viewed-products-collection-magento-2.html)
* [Argument Types](https://www.mageplaza.com/devdocs/argument-types-magento-2.html)
* [Get Wishlist Products Collection](https://www.mageplaza.com/devdocs/get-wishlist-products-collection-magento-2.html)
* [Custom payment method in checkout steps](https://www.mageplaza.com/devdocs/custom-payment-method-checkout-steps-magento-2.html)
* [Add new fields in address form](https://www.mageplaza.com/devdocs/add-new-fields-address-form-magento-2.html)
* [Proxies](https://www.mageplaza.com/devdocs/proxies-magento-2.html)
* [Add Product To Cart With Custom Price](https://www.mageplaza.com/devdocs/add-product-to-cart-with-custom-price-magento-2.html)
* [Add Products To Category Programmatically](https://www.mageplaza.com/devdocs/add-products-to-category-programmatically-magento-2.html)
* [Add Quick View feature](https://www.mageplaza.com/devdocs/custom-attribute-validation-rule-magento-2.html)
* [What is Magento 2 API?](https://www.mageplaza.com/devdocs/what-api-magento-2.html)
* [Magento 2 Adding Extension Attributes To Entity](https://www.mageplaza.com/devdocs/add-extension-attributes-to-entity-magento-2.html)
* [Magento 2 Block Cache](https://www.mageplaza.com/devdocs/magento-2-block-cache.html)
* [Custom shipping address template](https://www.mageplaza.com/devdocs/custom-shipping-address-template-magento-2.html)
* [Magento 2 Creating A UI Form](https://www.mageplaza.com/devdocs/creat-a-ui-form-in-magento-2.html)
* [REST API](https://www.mageplaza.com/devdocs/rest-api-magento-2.html)
* [Magento 2 System Configuration Field Types](https://www.mageplaza.com/devdocs/system-configuration-field-types-magento-2.html)
* [Magento 2 Add, Edit Or Delete Action](https://www.mageplaza.com/devdocs/add-edit-or-delete-action-magento-2.html)
* [Five Steps To Add Mass Actions In Magento 2](https://www.mageplaza.com/devdocs/five-steps-to-add-mass-actions-in-magento-2.html)
* [API Authentication: Token, OAuth, Session Authentication](https://www.mageplaza.com/devdocs/token-oauth-session-authentication-magento-2.html)
* [Magento 2 Create Admin Buttons](https://www.mageplaza.com/devdocs/create-admin-button-in-magento-2.html)
* [Magento 2 Add Images To Product Programmatically](https://www.mageplaza.com/devdocs/add-images-to-product-programmatically-magento-2.html)
* [4 Steps to Create a Custom Form in Magento 2 Admin](https://www.mageplaza.com/devdocs/four-steps-to-create-a-custom-form-in-magento-2.html)
* [Magento 2 API Create Configurable Product](https://www.mageplaza.com/devdocs/create-configurable-product-magento-2-api.html)
* [Create Integration Module](https://www.mageplaza.com/devdocs/create-integration-module-magento-2.html)
* [Magento 2 API Create Simple Products](https://www.mageplaza.com/devdocs/create-simple-products-magento-2-api.html)
* [Magento 2 API Add Simple Products To Configurable Product](https://www.mageplaza.com/devdocs/add-simple-products-to-configurable-product-magento-2-api.html)
* [API Functional Testing](https://www.mageplaza.com/devdocs/api-functional-testing-magento-2.html)
* [Magento 2 API Create an Shipment](https://www.mageplaza.com/devdocs/create-an-shipment-magento-2-api.html)
* [Magento 2 API Issue Refund](https://www.mageplaza.com/devdocs/issue-refund-magento-2-api.html)
* [Create an Invoice](https://www.mageplaza.com/devdocs/create-invoice-magento-2.html)
* [Magento 2 API Get Admin Token](https://www.mageplaza.com/devdocs/get-admin-token-magento-2-api.html)
* [Get All Products, Orders, Categories](https://www.mageplaza.com/devdocs/get-all-products-orders-categories-magento-2.html)
* [Create an Order](https://www.mageplaza.com/devdocs/create-order-magento-2.html)
* [Magento 2 API Add Products to Cart Or Quote](https://www.mageplaza.com/devdocs/add-products-to-cart-or-quote-magento-2-api.html)
* [Create a Quote](https://www.mageplaza.com/devdocs/create-quote-magento-2.html)
* [Shipping and Billing Information](https://www.mageplaza.com/devdocs/shipping-billing-information-magento-2.html)
* [Create a Customer](https://www.mageplaza.com/devdocs/create-customer-magento-2.html)
* [Theme Structure](https://www.mageplaza.com/devdocs/theme-file-structure-magento-2.html)
* [Overriding Native Template File](https://www.mageplaza.com/devdocs/overriding-native-template-file-magento-2.html)
* [Magento 2 Overriding Native Layout File](https://www.mageplaza.com/devdocs/overriding-native-layout-file-magento-2.html)
* [Add Meta Tags to Header](https://www.mageplaza.com/devdocs/add-meta-tags-header-magento-2.html)
* [Add/Remove Static Files JS, CSS, Fonts](https://www.mageplaza.com/devdocs/add-remove-static-files-js-css-fonts-magento-2.html)
* [How to Extend Layout](https://www.mageplaza.com/devdocs/how-extend-layout-magento-2.html)
* [Create/Reference a Container](https://www.mageplaza.com/devdocs/create-reference-container-magento-2.html)
* [Change Block Arguments](https://www.mageplaza.com/devdocs/change-block-arguments-magento-2.html)
* [Common Error HTTP Codes in Magento Rest API](https://www.mageplaza.com/devdocs/common-error-http-codes-magento-rest-api.html)
* [An error has happened during application run. See exception log for details](https://www.mageplaza.com/error-happened-during-application-run-see-expection-log-details.html)
* [Get parent products: Bundle, Grouped products](https://www.mageplaza.com/devdocs/get-parent-product-bundle-grouped-products-in-magento-2.html)
* [Change Product Image Size](https://www.mageplaza.com/devdocs/how-change-product-image-size-magento-2.html)
* [Check if current url is homepage](https://www.mageplaza.com/devdocs/how-check-current-url-homepage-magento-2.html)
* [Check url is secured https, SSL](https://www.mageplaza.com/devdocs/how-check-url-secured-https-ssl-magento-2.html)
* [File Upload in System Configuration](https://www.mageplaza.com/devdocs/how-file-upload-sytem-configuration-magento-2.html)
* [Get base url, current url](https://www.mageplaza.com/devdocs/how-get-base-url-current-url-magento-2.html)
* [Get a block from template file `.phtml`](https://www.mageplaza.com/devdocs/how-get-block-from-template-file-phtml-magento-2.html)
* [Get Categories from specific Product](https://www.mageplaza.com/devdocs/how-get-categories-specific-product-magento-2.html)
* [Get currency data: code, rate, symbol](https://www.mageplaza.com/devdocs/how-get-currency-data-code-rate-symbol-magento-2.html)
* [Get current product, category](https://www.mageplaza.com/devdocs/how-get-current-product-category-magento-2.html)
* [Get Customer Groups](https://www.mageplaza.com/devdocs/how-get-customer-groups-magento-2.html)
* [Get the data of shopping cart items, subtotal, grand total, billing & shipping address](https://www.mageplaza.com/devdocs/how-get-data-shopping-cart-items-subtotal-grand-total-billing-shipping-address-magento-2.html)
* [Get logo url, alt text, logo size](https://www.mageplaza.com/devdocs/how-get-logo-url-alt-text-logo-size-magento-2.html)
* [Get product collection](https://www.mageplaza.com/devdocs/how-get-product-collection-magento-2.html)
* [Get product by ID, SKU](https://www.mageplaza.com/devdocs/how-get-product-id-sku-magento-2.html)
* [Get Product Stock Information](https://www.mageplaza.com/devdocs/how-get-product-stock-information-magento-2.html)
* [Get related, upsell & crosssell products](https://www.mageplaza.com/devdocs/how-get-related-upsell-crosssell-products-magento-2.html)
* [Get size of product image](https://www.mageplaza.com/devdocs/how-get-size-product-image-magento-2.html)
* [Get store information](https://www.mageplaza.com/devdocs/how-get-store-information-magento-2.html)
* [Get Value of Product Custom Option from Cart & Order](https://www.mageplaza.com/devdocs/how-get-value-product-custom-option-cart-order-magento-2.html)
* [Set & Unset session](https://www.mageplaza.com/devdocs/how-set-unset-session-magento-2.html)
* [Show cms static block from template phtml file](https://www.mageplaza.com/devdocs/how-show-cms-static-block-template-phtml-file-magento-2.html)
* [Add a Custom Discount](https://www.mageplaza.com/devdocs/how-add-custom-discount-magento-2.html)
* [Add custom fields in Product Edit pages](https://www.mageplaza.com/devdocs/how-to-add-custom-fields-in-product-edit-pages-in-magento-2.html)
* [Add EAV Attribute](https://www.mageplaza.com/devdocs/how-create-eav-attribute-magento-2.html)
* [Add Top Link](https://www.mageplaza.com/devdocs/how-add-top-link-magento-2.html)
* [Call children in Template knockout](https://www.mageplaza.com/devdocs/how-to-call-children-in-Magento-2-template-knockout.html)
* [Change product price with Plugin](https://www.mageplaza.com/devdocs/how-to-change-product-price-with-plugin-magento-2.html)
* [Convert Custom Field From Quote Item to Order Item](https://www.mageplaza.com/devdocs/how-convert-custom-field-from-quote-item-to-order-item-magento-2.html)
* [Create Auto Update Time Attributes in InstallSchema](https://www.mageplaza.com/devdocs/how-to-create-auto-update-time-attributes-in-installschema-of-magento-2.html)
* [Create a New Product Type](https://www.mageplaza.com/devdocs/how-create-new-product-type-magento-2.html)
* [Enable Persistent Shopping Cart](https://www.mageplaza.com/devdocs/how-enable-persistent-shopping-cart-magento-2.html)
* [Get List Products from Catalog Rule Condition](https://www.mageplaza.com/devdocs/how-to-get-list-product-from-catalog-rule-condition-in-magento-2.html)
* [Get Product Options Programmatically](https://www.mageplaza.com/devdocs/how-to-get-product-options-in-magento-2.html)
* [Get Stock Items](https://www.mageplaza.com/devdocs/how-get-stock-items-list-magento-2.html)
* [Get Value of Custom Attribute via Rest API](https://www.mageplaza.com/devdocs/how-get-value-custom-attribute-rest-api-magento-2.html)
* [How to Join 2 Tables](https://www.mageplaza.com/devdocs/how-join-2-tables-magento-2.html)
* [Send Order Email to A Custom Email Address](https://www.mageplaza.com/devdocs/how-send-order-email-custom-email-address-magento-2.html)
* [Create/Update/Delete Cookie](https://www.mageplaza.com/devdocs/how-to-crete-update-delete-cookie-in-magento-2.html)
* [Validate Form](https://www.mageplaza.com/devdocs/how-to-validate-form-magento-2.html)
* [Write to log file](https://www.mageplaza.com/devdocs/how-write-log-magento-2.html)
* [Upload product image](https://www.mageplaza.com/devdocs/how-upload-product-image-magento-2.html)
* [Use code in external file/script](https://www.mageplaza.com/devdocs/how-use-code-external-file-script-magento-2.html)
* [Use Plugin, Preference to rewrite Block, Model, Controller, Helper](https://www.mageplaza.com/devdocs/how-use-plugin-preference-rewrite-block-model-controller-helper-magento-2.html)
* [Create CMS pages programmatically](https://www.mageplaza.com/devdocs/magento-2-create-cms-pages-programmatically.html)
* [Create composer.json](https://www.mageplaza.com/devdocs/magento-2-create-composer-json.html)
* [Create customer programmatically](https://www.mageplaza.com/devdocs/magento-2-create-customer-programmatically.html)
* [Create Invoice Programmatically](https://www.mageplaza.com/devdocs/magento-2-create-invoice-programmatically.html)
* [Create order programmatically](https://www.mageplaza.com/devdocs/magento-2-create-order-programmatically.html)
* [Create product programmatically](https://www.mageplaza.com/devdocs/magento-2-create-product-programmatically.html)
* [Create Shipment Programmatically](https://www.mageplaza.com/devdocs/magento-2-create-shipment-programmatically.html)
* [Dependency Injection](https://www.mageplaza.com/devdocs/magento-2-dependency-injection.html)
* [Enable or disable module](https://www.mageplaza.com/devdocs/magento-2-enable-disable-module.html)
* [Magento 2 Module load order position](https://www.mageplaza.com/devdocs/magento-2-module-load-order-position.html)
* [Magento 2 Registry & Register](https://www.mageplaza.com/devdocs/magento-2-registry-register.html)
* [Add an URL Rewrite](https://www.mageplaza.com/devdocs/magento-2-url-rewrite-programmatically.html)
* [Prompt Widget](https://www.mageplaza.com/devdocs/prompt-widget-magento-2.html)
* [Sticky Header Component](https://www.mageplaza.com/devdocs/sticky-header-component-magento-2.html)
* [UI Bookmark Component](https://www.mageplaza.com/devdocs/ui-bookmark-component-magento-2.html)
* [The Ultimate Guide to Upgrade Magento 2](https://www.mageplaza.com/devdocs/upgrade-magento-2.html)
* [Using VirtualType](https://www.mageplaza.com/devdocs/using-virtual-type-magento-2.html)
* [Add New Total to Email](https://www.mageplaza.com/devdocs/how-to-add-new-total-to-email-in-magento-2.html)
* [Create Custom Theme in Magento 2 - Theme Development Tutorial Step by Step](https://www.mageplaza.com/devdocs/how-to-create-magento-2-theme.html)
* [Customize a checkout step](https://www.mageplaza.com/devdocs/custom-checkout-component-magento-2.html)
* [Custom Shipping Carrier validator](https://www.mageplaza.com/devdocs/custom-shipping-carrier-validator-magento-2.html)
* [Add a new input form checkout page](https://www.mageplaza.com/devdocs/add-new-input-form-magento-2.html)
* [Add custom validations before placing orders](https://www.mageplaza.com/devdocs/add-custom-validations-before-placing-order-magento-2.html)
* [Magento 2 Unit Test](https://www.mageplaza.com/devdocs/magento-2-unit-test/)
* [Magento 2 Block Template Ultimate Guides](https://www.mageplaza.com/magento-2-module-development/magento-2-layout-block-template.html)
* [Create Admin User](https://www.mageplaza.com/devdocs/magento-2-add-admin-user-command-line.html)
* [Backup Db, Media, Code](https://www.mageplaza.com/devdocs/magento-2-backup-database-media-code.html)
* [Magento 2 Deploy Command](https://www.mageplaza.com/devdocs/magento-2-deploy-command-line.html)
* [Enable or Disable maintenance mode](https://www.mageplaza.com/devdocs/magento-2-maintaince-mode.html)
* [Get Admin Path](https://www.mageplaza.com/devdocs/magento-2-admin-path.html)
* [Install / Uninstall Sample Data](https://www.mageplaza.com/devdocs/magento-2-install-uninstall-sample-data.html)
* [Reindex / Indexer](https://www.mageplaza.com/devdocs/magento-2-reindex-indexer.html)
* [Rollback Database, Media, Code](https://www.mageplaza.com/devdocs/magento-2-rollback-database-media-code.html)
* [Run Compile Command Line](https://www.mageplaza.com/devdocs/magento-2-run-compile-command-line.html)
* [Run cron job manually](https://www.mageplaza.com/devdocs/magento-2-cron-job-manually.html)
* [Run Unit Tests](https://www.mageplaza.com/devdocs/magento-2-run-tests.html)
* [Enable / Disable Production Mode](https://www.mageplaza.com/devdocs/magento-2-developer-mode-product-mode.html)
* [Setup Upgrade Command Line](https://www.mageplaza.com/devdocs/magento-2-setup-upgrade.html)
* [Deploy Static Content](https://www.mageplaza.com/devdocs/magento-2-static-content-deploy.html)
* [Unlock Admin User](https://www.mageplaza.com/magento-2-module-development/magento-2-unlock-admin-user-command-line.html)
* [Add Rel Prev, Next tag](https://www.mageplaza.com/devdocs/magento-2-add-rel-prev-next-tag.html)
* [Add, Delete, Re-order Custom Links](https://www.mageplaza.com/devdocs/magento-2-add-delete-re-order-custom-links.html)
* [Optimize Default Checkout Page](https://www.mageplaza.com/devdocs/magento-2-optimize-default-checkout-page.html)
* [Use Redis cache for Default Cache and Full page cache](https://www.mageplaza.com/devdocs/redis-cache-magento-2.html)
* [Override Classes Using Plugin](https://www.mageplaza.com/devdocs/override-classes-using-plugin-magento-2.html)
* [How to Enable/Disable Cache](https://www.mageplaza.com/devdocs/how-enable-disable-cache-magento-2.html)
* [Create a Unit Test file](https://www.mageplaza.com/devdocs/magento-2-create-unit-test-file.html)
* [Run Unit Testing](https://www.mageplaza.com/devdocs/magento-2-run-unit-testing.html)
* [Package Module](https://www.mageplaza.com/devdocs/how-package-module-magento-2.html)
* [Add a custom checkout step](https://www.mageplaza.com/devdocs/add-custom-checkout-step-magento-2.html)