background

Magento 2 Development II course

Everything you need to create advanced modules following best practices

Everything you need to create advanced modules following best practices

Once you get started with Magento 2, building a module with basic features is something you'll do again and again. However, there are some more advanced topics as well. This training is the second part of our Magento 2 backend developer training that gives developers a kickstart to start developing in Magento 2. Part one focussed on Dependency Injection and composer. This training focuses on practicing DI, building a backend module and advanced topics like extension attributes & unit testing.

10+

Hours of video

102

Lessons

412

Pages

Jisse Reitsma

Your teacher Jisse Reitsma

Jisse Reitsma is the developer of 60+ Magento extensions and has given technical Magento trainings for years. Besides his ability to understand complex technology, he is skilled in making this knowledge understandable for everyone. With him, you can expect in-to-depth guidance plus lots of practical tips. Jisse is the mastermind of MageTestFest, Reacticon and MageUnconference and former Magento Master.

Pick your On-Demand Magento video course

And you can start right away

On-Demand Solo
259
(USD 272)
per year per individual
  • Full access to this course
  • More than 10+ hours of video
  • Student notes of 412+ pages
  • Learn at your own pace
On-Demand Bulk
1249
(USD 1314)
per year per individual
  • Access to 93+ hours of Magento courses
  • Student notes of 5212+ pages
  • Ideal if you want to grasp everything
On-Demand Premium
3199
(USD 3367)
per year for an agency
  • Everything under On-Demand Bulk
  • Costing €6 per hour (or lower) per person
  • Continuously upgrade your teams knowledge

Or go for a teacher-led session

Because everyone has different needs

Classroom
Live Training
See our schedule below
  • Everything under On-Demand Standard
  • Instructor-led classroom
  • Benefit from a real-time interaction
  • Ask any question that you have
Agency
In-House
per training per agency
  • Everything under On-Demand Standard
  • Economical for groups of 5 and more
  • Freely debate company-specific topics
  • On-site at your company office
Agency
Online
per training per agency
  • Everything under On-Demand Standard
  • Ideal for online or hybrid teams
  • Recordings available afterwards
  • Online via Zoom, Teams or similar
background

Join our upcoming training in Baarn

Monday, July 22, 2024 - Thursday, July 25, 2024

Schedule for live training

Date
Jul 22 - Jul 25
Training
Magento Backend Development Bootcamp
NL
Location
Details
Date
Oct 7 - Oct 10
Training
Magento Backend Development Bootcamp
NL
Location
Details
Date
Dec 16 - Dec 19
Training
Magento Backend Development Bootcamp
NL
Location
Details

Do these dates not fit you well? Do you want to switch to another language?
Feel free to contact us to see what other options there might be.

Magento training topics

Explore your topics of choice

  • Declarative schemas (basics)
  • Data models
  • Resource models
  • Collections
  • Naming model classes
  • AbstractModel or AbstractExtensibleModel?
  • Example data model via CLI commands
  • Example data model with integration tests
  • Improving your models
  • Improving your resource models
  • Event observer
  • Finding events
  • Dispatching events
  • Observer or Plugins
  • Routing overview
  • Backend routes
  • Override a controller action
  • Logic of the FrontController class
  • Routers
  • How 404 pages work
  • How the SecurityTxt module works
  • Creating a custom router
  • CMS Blocks
  • CMS pages
  • Widgets
  • Adding a custom page type
  • Content Security Policy
  • Toggling CSP mode
  • Example of CSP with external CSS
  • Whitelisting values for CSP
  • Example with whitelisting external CSS
  • CSP in the Yireo GoogleTagManager module
  • Dummy $secureRenderer
  • Whitelisting inline JavaScript in the checkout
  • CspNonceProviders
  • Disabling CSP
  • Useful CSP extensions
  • Using the filesystem
  • Reading files
  • Writing files
  • Repositories
  • Sorting lists with repositories
  • Using filters with repositories
  • Debugging SELECT queries with repositories
  • Using filter groups with repositories
  • The bad side of repositories
  • Creating your own repository
  • Adding CLI classes for the repository
  • Integration tests for our custom repository
  • Custom helper classes for your repositories
  • Data objects
  • Builder pattern
  • No more Helpers
  • Declarative schemas (advanced)
  • DB schema patches
  • Adding startSetup and endSetup
  • Manual SQL queries
  • Future changes in database layer
  • EAV attributes
  • Creating an EAV entity
  • About attributes
  • Attribute models
  • Working with the configuration
  • Attribute sets
  • Category attributes
  • Extension Attributes
  • Example product extension attribute
  • Backend routes
  • Adding Store Configuration settings
  • ACL rules
  • Adding a menu to the Admin Panel
  • Basics of adding UiComponents
  • Extending a UiComponent grid
  • Creating a UIComponent grid
  • Hyva Admin
  • Custom backend theme
  • Indexing overview
  • Where to look for indexing
  • How indexing works
  • Tuning indexing
  • Creating a custom indexerer
  • ConfigProviders for window.checkoutConfig
  • Layout processors
  • Adding a new Layout Processor
  • The Vault
  • Multi Source Inventory overview
  • Reservations
  • Source Selection Algorithms (SSA)
  • Configuring MSI
  • Simplest setup of MSI
  • Coding samples with MSI
  • Database tables for MSI
  • The old Stock Registry
  • Web APIs
This course has been updated for compatibility with Magento 2.4.7-p1

Watch a preview now

See for yourself

Toggling CSP mode
Layout processors

Or browse through all lessons in our courseware portal

We are constantly updating our courseware, but the following is a real-life snapshot
Declarative schemas (basics) 06m 06s
Data models 09m 46s
Resource models 04m 47s
Collections 07m 18s
Naming model classes 04m 53s
AbstractModel or AbstractExtensibleModel?
Example data model via CLI commands 28m 23s
Example data model with integration tests 13m 38s
Improving your models 08m 23s
Improving your resource models 24m 32s
Event observer 07m 27s
Finding events 08m 48s
Dispatching events 04m 11s
Observer or Plugins 13m 45s
Routing overview 14m 55s
Backend routes 20m 32s
Override a controller action 14m 32s
Logic of the FrontController class 25m 14s
Routers 31m 21s
How 404 pages work 35m 55s
How the SecurityTxt module works 24m 12s
Creating a custom router 31m 23s
Quiz: Routers
CMS Blocks
CMS pages
Widgets
Adding a custom page type
Content Security Policy 05m 04s
Toggling CSP mode free 06m 21s
Example of CSP with external CSS 04m 43s
Whitelisting values for CSP 02m 51s
Example with whitelisting external CSS 09m 26s
CSP in the Yireo GoogleTagManager module 01m 54s
Dummy $secureRenderer 07m 16s
Whitelisting inline JavaScript in the checkout 15m 51s
CspNonceProviders
Disabling CSP
Useful CSP extensions
Using the filesystem
Reading files
Writing files
Repositories 09m 00s
Sorting lists with repositories 02m 55s
Using filters with repositories 09m 21s
Debugging SELECT queries with repositories 11m 23s
Using filter groups with repositories 14m 05s
The bad side of repositories 14m 36s
Creating your own repository 12m 16s
Adding CLI classes for the repository 22m 28s
Integration tests for our custom repository
Custom helper classes for your repositories 18m 14s
Data objects
Builder pattern
No more Helpers
Declarative schemas (advanced) 11m 31s
DB schema patches 17m 39s
Adding startSetup and endSetup 05m 35s
Manual SQL queries
Future changes in database layer
EAV attributes
Creating an EAV entity
About attributes
Attribute models
Working with the configuration
Attribute sets
Category attributes
Extension Attributes
Example product extension attribute
Backend routes 20m 32s
Adding Store Configuration settings
ACL rules
Adding a menu to the Admin Panel
Basics of adding UiComponents
Extending a UiComponent grid
Creating a UIComponent grid
Hyva Admin
Custom backend theme
Indexing overview
Where to look for indexing
How indexing works
Tuning indexing
Creating a custom indexerer
ConfigProviders for window.checkoutConfig 10m 56s
Layout processors free 23m 12s
Adding a new Layout Processor 15m 52s
The Vault
Multi Source Inventory overview
Reservations
Source Selection Algorithms (SSA)
Configuring MSI
Simplest setup of MSI
Coding samples with MSI
Database tables for MSI
The old Stock Registry
Web APIs

These videos are available as an On-Demand video training (with notes). See the pricing for details.

This course has been updated for compatibility with Magento 2.4.7-p1
Target group

Target group

  • Junior backend developers that need to get kickstarted fast
  • Senior Magento backenders who are looking for the finishing touch
isolde-van-oosterhout.jpg
I have made use of Yireo its full range of both on-demand courses as well as classroom courses during my development career. Yireo its courses provide me with just that extra that no other courses have yet been able to: the encouragement to think outside the box.
Isolde van Oosterhout (Sols Webdesign)
Requirements

Requirements

  • Knowledge of Magento 1 or 2 XML layout
  • Knowledge of Magento 2 Dependency Injection and composer
  • (Part 1 of this training is recommended)
  • Experience with PHP OOP

These are the options we give you

At your place or ours?

Everyone learns at her/his own pace. We provide both in-house training and public training throughout Europe - whatever suits your team best. When 3 or more developers are attending, a custom training is often more economical. Contact us for more details.

You'll get courseware

Every workshop is accompanied with official Yireo coursematerial. Attendees are sent a digital version of this material after the training. It contains slides, comments and references. Additionally, our GitHub repos contain numerous more code samples.

Online classrooms

Online trainings are also our training: Via Zoom or Google Hangout sessions, our teacher is able to connect with your team. The benefit here is that the team is able to connect from various places itself as well, timeframes are more flexible. Afterwards, a video recording will be shared with all attendees for reference.

On-demand self-paced training

This training is also available as an On-Demand training: Via numerous video lessons, including accompanying student notes (equalling a book on their own), you'll learn about the topics in your own pace. And when you bump into questions, you can fall back to the teachers guidance.

roy-van-os.jpg
Jisse gives cool training courses that you can put to good use in practice. Besides being informative, it is also fun to listen to.
Roy van Os (Active Ants)

Customer quotes

At Yireo you will quickly get to know the world of Magento with all the new best practices. Kevin van Welzenis (Vendic)
Jisse understands how you can put your brain to work and keep you constantly on the edge of your seat Kayne Spikker (Modern Minds)
The training made pure abstraction manageable and digestible Marko Beenink (Mountain IT)
Read more quotes of our customers
background

Yireo could be the right partner for you

We have trained 5000+ developers in numerous disciplines since 2005

  • Professional training at affordable prices
  • Truely active with numerous open source projects in the community
  • Trainings, bootcamps, hackathons, events
  • Passionate, enthousiastic, knowledgable in the right combination

Some of the customers that we have trained in the past years

enobis.jpg
and-digital.png
pon-bike.png
flint-studios.jpg
vicus.png
cti-digital.png
igoo.png
maxserv.jpg
buro26.png
twt.png
limesoda.png
epartment.png
See a more complete listing of our customers

Frequently Asked Questions

There is a minimum number of attendees listed. What does this mean?

When this course is organized in the form of a classroom-training, it is only held if there is a minimum number of attendees. This number is usually 4 but sometimes we bring this down to 2 or 3. This minimum number simply means that if a class is not "full", either you get a refund or your ticket is transferred to another date. With On-Demand courses (video courses), this number is not applicable.

Do you have any PPP discount available?

Yes, we do have a PPP (Purchasing Power Parity) discount available. Just enter `PPP` as a coupon code and the discount will be applied to your cart. We are using the Big Mac Index to recalculate prices. Note that - when ordering for a specific PPP rate - the country that you're entering in your billing address needs to match the exact country that you are visiting from (in other words: your IP needs to match the country you say you're from).