Autoplay
Autocomplete
Previous lesson
Complete and Continue
Magento 2 Coding Kickstart
Introduction
Welcome! Prerequisites, focus & outcome
Preview
2:38
Application & Environment Setup
Directory structure of a Magento project
Locked
6:50
All about Magento application modes
Locked
2:40
Enabling developer mode for Magento development
Locked
1:11
Set up Composer auth credentials for the Magento Marketplace
Locked
2:24
Install & deploy Magento sample data
Locked
1:45
About the Magento config, environment & version control
Locked
1:52
Set up additional Magento development tools
Locked
1:00
Caching
Enabling & disabling cache types in Magento
Locked
1:53
Cleaning & flushing Magento caches
Locked
2:03
Enable automatic Magento cache clearing for development
Locked
1:55
Module Basics
Magento local module directory naming conventions
Preview
2:28
Magento third-party module directory naming conventions
Locked
1:58
Magento module registration file
Preview
3:32
Magento module definition file
Locked
4:23
Enable a Magento module
Locked
3:18
Exercise: Create your own custom Magento module
Locked
Exercise: Install a third-party Magento module
Locked
Create a composer.json file for your module
Locked
3:44
Routing
Built-in Magento routers
Locked
2:49
The anatomy of a Magento URL
Locked
3:45
Define a new custom route in Magento
Locked
2:36
Create a controller action in Magento
Preview
4:23
Exercise: Create a controller action for the blog post detail view
Locked
Reserved keywords in Magento controller actions
Locked
2:15
Dependency Injection
Dependency injection & Magento’s Object Manager
Locked
2:21
Why the new keyword can’t be used to create objects in Magento
Locked
1:48
Create a new object in Magento using Object Manager
Locked
2:25
Create an object with dependency injection using a singleton
Locked
3:01
About generated code in Magento
Locked
2:51
How Magento maps interface implementations with XML
Locked
4:08
Interfaces & Factories
What are service contracts?
Locked
1:58
Create an object with dependency injection using an interface
Locked
1:58
Create an object with dependency injection using a factory
Locked
2:57
Exercise: Create a page response for the blog post list view
Locked
Redirect a Magento controller action with a factory
Locked
2:21
Forward a Magento controller action with a factory
Locked
3:16
Views
Magento page layouts & containers
Locked
4:04
Magento core layouts & blocks
Locked
2:54
Custom Magento layout handles
Locked
1:46
Create a custom layout XML file
Locked
2:03
Create a new template file in Magento
Locked
2:35
Display a Magento template in a block
Locked
3:11
Challenge: Create a template & render it in a block with layout XML
Locked
Review: Create a template & render it in a block with layout XML
Locked
5:00
Change the page layout of a Magento view
Locked
2:56
Locate block templates in Magento
Locked
4:24
Locate block nodes in Magento layout XML files
Locked
1:46
Exercise: Locate a template & related block node in layout XML
Locked
Move Magento blocks on a page
Locked
3:14
Remove or control the display of a Magento block
Locked
1:59
Override & translate Magento template text with i18n
Locked
4:30
Override an existing Magento block template
Preview
3:24
Render & wrap Magento children blocks with containers
Locked
2:21
Exercise: Magento module cleanup
Locked
Update templates with placeholder data
Locked
6:25
Database Models
About Magento’s declarative schema
Locked
1:56
Create a new database table
Locked
7:49
Automatically remove database properties on updates
Locked
2:12
Magento Model vs ResourceModel vs Collection
Locked
1:37
Create a model
Locked
1:24
Create a resource model
Locked
4:48
Create a collection
Locked
3:15
Repositories & Data Interfaces
What is a service contract?
Locked
2:53
Create a data transfer object (DTO) interface
Locked
6:53
Update a model to implement a DTO interface
Locked
2:37
Define a model preference for a DTO interface
Locked
1:33
Create a repository interface
Locked
6:37
Create a repository
Locked
2:28
Saving & Querying Data
Load data with a resource model
Locked
4:59
Save data with a resource model
Locked
1:35
Delete data with a resource model
Locked
1:57
Write a setup patch data script
Locked
3:31
Save data using a repository
Locked
2:43
Execute setup patch data scripts
Locked
2:33
Exercise: Write another setup data patch script
Locked
Create a ViewModel
Locked
4:21
Pass data to a template using a ViewModel
Preview
4:56
Exercise: Create a new function within a ViewModel
Locked
Load data using a collection
Locked
3:27
Load data using a repository
Locked
4:14
Escape template data to prevent XSS security vulnerabilities
Locked
4:07
Expose a REST API endpoint using a repository
Locked
7:50
Design Patterns
Create and dispatch an event
Locked
3:52
Listen to an event with an observer
Locked
7:06
What is a plugin or interceptor?
Locked
3:15
Use a before plugin to modify function parameters
Locked
6:16
Use an after plugin to modify the result of a function
Locked
6:37
Use an around plugin to silence a function
Locked
3:46
Override a class using a preference
Locked
4:34
Conclusion
Downloadable archive of modules
Locked
Course feedback & certificate for the Magento 2 Coding Kickstart course
Locked
Create a custom layout XML file
Lesson content locked
If you're already enrolled,
log in to access this lesson
.
Enroll in Course to Unlock