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
Preview
(6:50)
All about Magento application modes
Preview
(2:40)
Enabling developer mode for Magento development
Preview
(1:11)
Set up Composer auth credentials for the Magento Marketplace
Preview
(2:24)
Install & deploy Magento sample data
Preview
(1:45)
About the Magento config, environment & version control
Preview
(1:52)
Set up additional Magento development tools
Preview
(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
Locked
(2:28)
Magento third-party module directory naming conventions
Locked
(1:58)
Magento module registration file
Locked
(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
Locked
(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
Locked
(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
Locked
(4:56)
Exercise: Pass data to another template using a ViewModel
Locked
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
Next steps for implementing Magento fundamentals
Locked
Course feedback & certificate for the Magento 2 Coding Kickstart course
Locked
Exercise: Create a page response for the blog post list view
Lesson content locked
If you're already enrolled,
log in to access this lesson
.
Enroll in Course to Unlock