Full Access to All Magento 2 On-Demand Training

In stock
SKU
v10
€1,449.00
1449 per year
121 per month (billed once a year)
22 per hour of video content available to you

Included courses

Docker

Status: Complete
Last updated: 2022-03-28
Number of lessons: 0
Number of slides: 0
Videos: 0 hours

Adobe PWA Studio Development

Status: Complete
Last updated: 2022-04-28
Number of lessons: 54
Number of slides: 302
Videos: 10 hours

Magento 2 Technical Architecture

Status: Complete
Last updated: 2021-11-04
Number of lessons: 0
Number of slides: 0
Videos: 0 hours

Magento 2 Backend Development I

Status: Complete
Last updated: 2022-05-09
Number of lessons: 86
Number of slides: 421
Videos: 15.9 hours

Magento 2 Backend Development II

Status: Complete
Last updated: 2022-04-28
Number of lessons: 58
Number of slides: 294
Videos: 0.8 hours

Magento 2 Backend Development III

Status: Complete
Last updated: 2022-05-10
Number of lessons: 36
Number of slides: 203
Videos: 0 hours

Magento 2 GraphQL

Status: Complete
Last updated: 2022-04-28
Number of lessons: 18
Number of slides: 89
Videos: 2 hours

Magento - Hyvä Themes

Status: Complete
Last updated: 2022-05-07
Number of lessons: 72
Number of slides: 311
Videos: 10.8 hours

Magento 2 Luma Frontend Development

Status: Complete
Last updated: 2022-05-07
Number of lessons: 66
Number of slides: 250
Videos: 11.8 hours

Magento 2 Luma JavaScript Development

Status: Complete
Last updated: 2022-05-07
Number of lessons: 58
Number of slides: 305
Videos: 14.4 hours

Frontend development generics

Status: Complete
Last updated: 2022-03-03
Number of lessons: 2
Number of slides: 38
Videos: 0 hours

Preview this course

Want to see what this course is like? Checkout our Courseware Demo to preview this course and others.

Preview all courses

Course content

Docker

Adobe PWA Studio Development

  • PWA in general
  • Introducing PWA
  • Other PWA providers
  • PWA Studio and extensibility
  • Status of Magento GraphQL
  • Architectural choices
  • Hybrid React solutions
  • Overview of PWA Studio
  • Introduction to PWA Studio
  • React essentials
  • React essentials
  • Redux essentials
  • Apollo client
  • Introducing Apollo client
  • Getting started with Apollo Client
  • Making Apollo calls
  • Including GraphQL files
  • Kickstart PWA Studio
  • Minimum requirements
  • Development tools
  • Prepare your Magento instance
  • Installing PWA Studio
  • First look at PWA Studio
  • Configuring PWA Studio
  • Reviewing the .env file
  • Upgrading PWA Studio
  • Buildpack
  • Overview of Buildpack
  • Venia
  • Introducing Venia
  • Extending Venia
  • Overriding components with the Fooman resolver
  • Changing the logo
  • Using prices
  • mergeClasses
  • Adding a new route
  • Working with the Mask component
  • Toasting
  • Checkout in Venia
  • Peregrine
  • Peregrine overview
  • Talons of Peregrine
  • Example with product talon
  • Routing in PWA Studio
  • Context within PWA Studio
  • Redux within PWA Studio
  • Build it your own
  • Build it without Venia
  • Implementing Venia and Peregrine partially
  • Target interception
  • Target interception
  • Creating a target interceptor
  • Venia targets
  • Peregrine targets
  • Buildpack targets
  • Targetables
  • UPWARD
  • Overview of UPWARD
  • Running UPWARD
  • UPWARD YAML configuration
  • Automatic image optimization
  • Running Venia without UPWARD
  • In production
  • In production
  • Server Side Rendering

Magento 2 Technical Architecture

Magento 2 Backend Development I

  • Prerequisites
  • Design patterns
  • Clean coding
  • Object Calisthenics
  • Magento basics
  • Magento Admin Panel overview
  • Configuration files
  • Application entrypoints
  • Global - Website - Store View (GWS)
  • Product types
  • Product attributes
  • Order flow
  • Theming basics
  • Frontend landscape
  • Magento and composer
  • Requiring a composer package
  • Semantic versioning
  • Composer repositories
  • Local composer repositories
  • Magento composer plugins
  • Magento installation
  • Minimum system requirements
  • Development platform
  • Disabling Two Factor Authentication
  • Installing Magento
  • Installing sample data
  • Upgrading Magento
  • Development tools
  • Development performance
  • Deployment modes
  • Deployment
  • Deploying to production
  • Using app:config commands
  • Static Content Deployment
  • Magento environment
  • Developer Tools
  • Setting up PHPStorm
  • Running cron
  • Using Magerun
  • Cache clean vs flush
  • Cache handling
  • Changing the admin path
  • Maintenance mode
  • Redis caching
  • Magento modules
  • Installing a module
  • Preparing for module creation
  • Creating a module
  • Composer file
  • Module XML file
  • Module registration
  • Module commands
  • Module entrypoints
  • Adding Blocks via XML layout
  • Using the store configuration
  • Adding a simple CLI command
  • Logging
  • Creating a custom logger
  • Architecture
  • Areas in the Magento application
  • Application layers
  • Interfaces and Service Contracts
  • Dependency Injection
  • Sandbox script
  • Introduction to Dependency Injection
  • Object Manager
  • DI preferences
  • Injecting a Store Configuration value
  • Injecting the current product
  • DI types aka constructor argument replacement
  • Virtual Types essentials
  • DI factories
  • Injecting URLs into your class
  • Creating a custom factory
  • DI proxies
  • DI interceptor plugins
  • Injecting the current customer session
  • Injecting the layout into your class
  • Catalog development
  • Using the product repository
  • Using product stock
  • Console commands
  • Adding console commands
  • Controllers
  • Frontend routes
  • Action results
  • Dealing with form keys
  • Adding messages
  • Adding complex messages
  • Adding cronjobs
  • Adding a cronjob
  • Dealing with emails
  • Creating an email template
  • Caching
  • Block caching
  • Module setup
  • Adding database changes via a module
  • InstallSchema
  • InstallData
  • Declaritive schemas
  • Declarative Schema patches
  • Module samples
  • Scenario: Add CMS Block to PHTML
  • Scenario: Add product pricing per customer

Magento 2 Backend Development II

  • Events and observers
  • Event observer
  • Finding events
  • Dispatching events
  • Observer or Plugins
  • Controllers and routing
  • Routing overview
  • Backend routes
  • Routing
  • CMS parts
  • CMS Blocks
  • CMS pages
  • CSP
  • CSP
  • Advanced frontend topics
  • Adding a custom page type
  • Widgets
  • Class patterns
  • Data objects
  • Builder pattern
  • No more Helpers
  • Database operations
  • Declarative schemas
  • Data models
  • Resource models
  • AbstractModel or AbstractExtensibleModel?
  • Collections
  • Repositories
  • Creating your own repository
  • EAV attributes
  • Creating an EAV entity
  • About attributes
  • Attribute models
  • Working with the configuration
  • Attribute sets
  • Category attributes
  • Manual SQL queries
  • Future changes in database layer
  • Caching
  • Caching backends
  • Caching types
  • Adding a custom cache type
  • core-cache-config
  • Extension attributes
  • Extension Attributes
  • Example product extension attribute
  • Adminhtml
  • Backend routes
  • Adding Store Configuration settings
  • ACL rules
  • Adding a menu item
  • Basics of adding UiComponents
  • Extending a UiComponent grid
  • Creating a UIComponent grid
  • Hyva admin
  • REST API
  • Web APIs
  • Backend of the checkout
  • ConfigProviders for window.checkoutConfig
  • Adding a new Layout Processor
  • Layout processors
  • The Vault
  • Misc
  • Accessing the filesystem
  • Unit tests
  • Unit Tests
  • Integration Tests
  • Integration testing
  • MFTF
  • Magento Functional Testing Framework (MFTF)
  • Live Tests
  • Overview of Live Tests
  • Setup of live tests
  • End-to-End testing
  • An overview of End-to-End testing
  • Cypress

Magento 2 Backend Development III

  • Block caching
  • Block caching
  • Cache tags in Blocks
  • Cache keys in Block
  • Advanced Block caching
  • Full Page Cache
  • Full Page Cache in Magento
  • Varnish
  • Introducing Varnish
  • Setting up Magento and Varnish
  • Troubleshooting Varnish
  • Edge Side Includes
  • VCL configuration
  • Tips when using Varnish
  • ElasticSearch
  • Introduction to ElasticSearch
  • Terminology
  • Connecting to ElasticSearch
  • Installing ElasticSearch
  • ElasticSearch in PHP
  • ElasticSearch in Magento
  • Aggregation APIs
  • Clustering ElasticSearch
  • Scaling tips for ElasticSearch
  • ELK stack
  • Kibana
  • Indexing
  • Indexing overview
  • Where to look for indexing
  • How indexing works
  • Tuning indexing
  • Creating a custom indexer
  • Message Queue
  • Introducing message queuing
  • AMQP
  • Magento message queue
  • Multi Source Inventory
  • Multi Source Inventory overview
  • Reservations
  • Source Selection Algorithms
  • Configuring MSI
  • Simplest setup of MSI
  • Coding samples with MSI

Magento 2 GraphQL

  • GraphQL basics
  • Introduction to GraphQL
  • GraphQL clients
  • GraphQL queries
  • GraphQL mutations
  • GraphQL call types
  • GraphQL fragments
  • GraphQL directives
  • GraphQL schema discovery and introspection
  • Magento GraphQL API
  • Introducing the Magento GraphQL API
  • Adding a custom GraphQL endpoint
  • Extending the GraphQL storeConfig endpoint
  • Resolver $context argument
  • GraphQL resolvers
  • Testing GraphQL endpoints
  • GraphQL URL resolving
  • GraphQL caching
  • Exception handling
  • Tips and tricks with the GraphQL API

Magento - Hyvä Themes

  • Introduction
  • Introduction to Hyvä Themes
  • Overview of Hyvä theme packages
  • Overview of Hyvä modules
  • Hyvä admin
  • Quick start
  • Project kickstart
  • Requirements for Hyvä
  • Development tools for Hyvä
  • Installation of Hyvä packages
  • Creating a new Hyva theme
  • Extending the `Hyva/default` theme
  • Discovering the theme
  • Using browser syncing
  • Tailwind CSS
  • Introducing Tailwind CSS
  • Quick start without Hyva
  • Using Windy for Tailwind CSS development
  • Hyvä build modes
  • Tailwind configuration file
  • Configuring breakpoints
  • Configuring colors
  • Tailwind and PostCSS
  • Purging CSS classes
  • Configuring fonts
  • Tailwind plugins
  • Using the prose plugin
  • Using apply
  • Tips and tricks
  • Just-In-Time compilation
  • Hyva_CmsTailwindJit module
  • Extending Tailwind
  • Tailwind 3 upgrade
  • Using PHPStorm for Tailwind development
  • ViewModel classes
  • Using ViewModels
  • Creating a ViewModel for Hyva
  • Working with icons
  • Alpine JS
  • Introducing AlpineJS
  • Basic syntax
  • `x-model` directive
  • Magics
  • The `$el` magic
  • The `$nextTick` magic
  • `x-ref` directive
  • Watching variables
  • `x-cloak` directive
  • `x-spread` directive
  • State management in AlpineJS
  • Copying a slider from alptail
  • Events in AlpineJS
  • Hyva private content
  • Depending on `window.hyva`
  • Loading a CMS Block via GraphQL
  • MageWire
  • Installation
  • Example module with MageWire
  • Checkout with Hyva
  • Checkout options
  • Hyvä checkout aka React checkout
  • Customizing the React checkout
  • Fixing the cart ID
  • Fix duplicate React versions
  • Fix the vendor folder
  • Overriding components
  • React or Preact developer tools
  • React checkout architecture
  • Using context in the React checkout
  • Using the React checkout in production
  • Dealing with CORS issues
  • Compatibility modules
  • Compatibility modules
  • Rewriting Luma scripts to Alpine
  • Using compatibility modules
  • Creating a custom compatibility module
  • Converting an Example Widget module
  • 11-widgets
  • Introduction to Hyvä widgets
  • Tips & tricks
  • Performance tuning
  • Setting equal heights

Magento 2 Luma Frontend Development

  • Basics
  • Introduction to Magento 2 frontend development
  • Development tools
  • Development performance
  • Deployment modes
  • Static Content Deployment
  • Setting the DocumentRoot in the Apache webserver
  • Creating a basic theme
  • Theme location
  • Creating a theme
  • Parent themes
  • Theme inheritance
  • Theme structure
  • Theme vs module
  • PHTML and HTML templates
  • Introduction to PHTML templates
  • Using the MageSpecialist DevTools
  • Using mage2tv/cache-clean
  • Overriding a PHTML template
  • Creating a new template
  • PHTML vs HTML templates
  • Debugging PHTML templates
  • XML layout
  • XML layout concepts
  • Comparison with Magento 1
  • XML layout essentials
  • Review of homepage demo
  • Handles and handle types
  • Understanding page layouts
  • Adding labels to containers
  • Using containers
  • The head section in the layout
  • Blocks in the layout
  • Layout updates
  • Moving elements
  • Removing elements
  • Rendering child elements in blocks
  • Reordering elements
  • Using block templates
  • Block arguments in the XML layout
  • Overriding layout
  • Overriding the logo
  • Text blocks
  • Troubleshooting layout issues
  • Multilinguality
  • Setting up Store Views for translation
  • Translating content
  • Translating system strings
  • How JavaScript translations work
  • Block & View Model classes
  • Using ViewModels
  • ViewModels vs Blocks
  • Extending `AbstractBlock`
  • Working with CMS Blocks
  • Email templates
  • Customizing email templates
  • Adding a block to an email template
  • Using Yireo EmailTester
  • CSS, LESS, Sass
  • CSS strategies
  • How CSS is added via the XML layout
  • LESS basics
  • To copy Fotorama into a LESS file
  • Removing calendar.css and others
  • One single CSS or separate CSS files?
  • Understanding the @magento_import directive
  • Example module with some LESS
  • LESS compilers
  • Debugging var/view_preprocessed/
  • CSS responsiveness - the Magento way
  • Best practices for overriding LESS files
  • Using Grunt for LESS compilation
  • Using subodha his Gulp
  • Frontend performance
  • Caching blocks

Magento 2 Luma JavaScript Development

  • JavaScript
  • ES6 Strict Mode
  • JavaScript encapsulation
  • Invocation patterns
  • Binding the keyword this
  • Module pattern
  • RequireJS
  • How JavaScript translations work
  • AMD standard
  • RequireJS basics
  • RequireJS config per Magento module
  • RequireJS configuration
  • RequireJS rewrites
  • RequireJS shims
  • RequireJS mixins
  • Component initializations
  • Return values of RequireJS modules
  • Example: Changing the background color
  • Changing options of the StoreView switcher
  • Dynamic dependencies
  • KnockoutJS
  • Introduction to Knockout.js
  • Knockout Context Debugger browser plugin
  • Binding Knockout the Magento way
  • Binding variables in Knockout
  • Text input with Knockout observable
  • Using ko.observableArray
  • Simple counter with Knockout
  • Interacting with Knockout ViewModels
  • Interacting with Magento uiComponents
  • Simple KO ViewModel linking
  • Analysing the customer greeting
  • Subscribing to the minicart
  • Knockout Components
  • State component with Knockout
  • Using the uiRegistry
  • Definition of UiComponents
  • Advanced UiComponent
  • Knockout HTML templates
  • Analysing the minicart
  • Rendering child components
  • Adding extra info to the minicart
  • Extending the checkout
  • ConfigProviders for window.checkoutConfig
  • Adding a new Layout Processor
  • Layout processors
  • Adding a child component to the checkout
  • Adding a new step in checkout
  • Component configuration
  • Adding a CMS block in checkout
  • Data sources in the checkout
  • ZIP code validation
  • Payment validators
  • Observer quote changes
  • Calling upon `checkoutProvider`
  • Private content
  • Definition of Private Content
  • Dealing with `customerData`
  • Example for using `customerData`
  • Add a new customerData section
  • How `customerData` sections get their data
  • Showing `customer().lastname` in a Knockout template
  • Depersonalizer

Frontend development generics

  • Images
  • Images
  • Characters and encodings
  • Characters and encoding