🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 插件开发核心: 核心 : 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)