Magento 2 is not just the next version of Magento 1, it is a completely new framework. It introduces a bunch of new libraries and approaches, with more opportunities to implement functionality better. In order to improve modularity, flexibility, and extensibility Magento 2 had to become a bit more complicated than Magento 1. That’s why, unfortunately, some of the new approaches in Magento 2 are just not explicit enough. This course explains how the most important parts of the framework are implemented, how they work, and how they can be used. It explores module implementation and core functionality customization, demonstrating Magento 2 development patterns and approaches. Finally, the course is not just about functionality implementation, it shares the best practices for managing Magento 2 applications as a whole. The course is intended to cover the most valuable information you need to know as a Magento 2 developer.
About The Author
Sergii Ivashchenko has been working in a Magento team for more than four years. He took part in the development of both the Magento 1 and Magento 2 frameworks and participated in the implementation of the Magento Testing Framework. For several years, Sergii has been systemizing and sharing his knowledge of the framework and core modules by contributing to official and non-official Magento 2 documentation and development resources, and talking at Magento events and meetups. Currently, Sergii is working on the implementation of e-commerce websites via Magento 2, developing extensions and integrations, managing infrastructure, continuous integration, deployment, and continuous performance optimization. Sergii also consults with and trains Magento 1 developers to develop successfully, efficiently, and comfortably on the Magento 2 platform.
Basic Module Components
This video provides an overview of the entire course.
The aim of this video is to create and register a minimal valid module on vanilla Magento 2,providing an explanation of the module's versioning and dependency handling.
The aim of the video is to create and fill a database table with data during installation using the InstallSchema and InstallData scripts.
The aim of the video is to alter the database table with a new column and to add additional data to the database with help of Magento upgrade scripts.
The goal of thisvideo is to create a resource model as an adaptor between database and code, model as an entity representation in code and a collection.
The goal of this video is to show how to handle requests to both backend and frontend areas with the help of routing configuration and controller classes.
The aim of this video is to integrate all module components developed during the section and output the list of items from database to a frontend page with help of layout, block, and template.
Advanced Module Components
The goal of this video is to add a custom command to Magento 2 CLI enabling adding of items to the module's database table from the command line.
The goal of this video is to create a Cron job to add a new item to the database each minute using Magento crontab configuration.
The aim of this video is to add a menu entry to the admin panel and protected via the created resource in the access control lists.
In this video, we will add a set of settings to system configuration, specify default values, and use these settings for the cron job implemented earlier.
The goal of this video is to create Rest and SOAP WebAPI for a module providing access to list items.
UI Components Library
Review what UI Components are, how they appear on the frontend, and how they are implemented on the backend.
The goal of this video is to create an admin grid using UI Components Library.
The aim of this video is to create a UI Component form for new item creation.
The goal of the video is to extend the configuration of the existing UI component and customize its appearance.
The aim of the video is to learn how to remove, change, and add UI components to checkout.
Customization
The aim of the video is to customize the Magento logging functionality using dependency injection configuration.
The aim of this video is to create an observer that will add records to debug log on particular events.
The aim of the video is to use a plugin to accompany command execution with the CLI output.
The aim of this video is to use a layout configuration file for blocks rendering customization.
The goal of this video is to use the RequireJS configuration to overwrite the JavaScript component completely or extend it.