Agency Access to All Shopware 6 On-Demand Training
Assign all our Shopware 6 On-Demand courses to your employees (what we call an "attendee" aka "seat") with a single package.
- Courses included: 16
- Total video time: 47 hours
- Access period: 1Y
- € 2399 for 1 year
- € 51 per hour of video available to you
If you have a team of developers and want to educate all of them on the topic of Shopware, this package is for you. It includes multiple "seats": Once ordered, you can navigate the courses under "My Attendance" and then assign the right course to the right person (with her/his name and email address). Each attendee that you manage, is then able to login under their account and follow the available courses (including bookmarks, lesson completion and assignments), while you have a helicopter view from your own management account.
Price | €2,399.00 |
---|---|
Access period | 1 year |
Included courses
Frontend development generics
Status: Complete
Last updated: 2024-06-08
Number of lessons: 45
Number of slides: 205
Videos: 5.1 hours
PHP Basics
Status: Complete
Last updated: 2024-05-23
Number of lessons: 39
Number of slides: 109
Videos: 0 hours
PHP Advanced Programming
Status: Complete
Last updated: 2024-07-03
Number of lessons: 83
Number of slides: 533
Videos: 1.5 hours
JavaScript Basics
Status: Complete
Last updated: 2024-07-03
Number of lessons: 9
Number of slides: 39
Videos: 0.1 hours
JavaScript Advanced
Status: Complete
Last updated: 2024-06-12
Number of lessons: 59
Number of slides: 269
Videos: 0.3 hours
Linux Fundamentals
Status: Complete
Last updated: 2024-05-23
Number of lessons: 33
Number of slides: 155
Videos: 0 hours
Docker Essentials
Status: Complete
Last updated: 2024-05-23
Number of lessons: 26
Number of slides: 144
Videos: 0 hours
Shopware 6 Administration Development
Status: Complete
Last updated: 2024-06-08
Number of lessons: 64
Number of slides: 383
Videos: 0.4 hours
Shopware 6 App Development
Status: Complete
Last updated: 2024-07-03
Number of lessons: 27
Number of slides: 144
Videos: 5.5 hours
Shopware 6 Technical Architecture
Status: Complete
Last updated: 2024-06-08
Number of lessons: 88
Number of slides: 391
Videos: 1.9 hours
Shopware 6 Backend Development Advanced
Status: Complete
Last updated: 2024-06-08
Number of lessons: 66
Number of slides: 389
Videos: 1 hours
Shopware 6 Backend Development Basics
Status: Complete
Last updated: 2024-07-03
Number of lessons: 67
Number of slides: 362
Videos: 7 hours
Shopware 6 Frontend Development Advanced
Status: Complete
Last updated: 2024-06-08
Number of lessons: 52
Number of slides: 253
Videos: 4 hours
Shopware 6 Frontend Development Basics
Status: Complete
Last updated: 2024-06-08
Number of lessons: 105
Number of slides: 375
Videos: 5.8 hours
Shopware 6 Technical Merchant
Status: Complete
Last updated: 2024-06-08
Number of lessons: 29
Number of slides: 108
Videos: 0.2 hours
Shopware 6 PWA Development
Status: Complete
Last updated: 2024-07-03
Number of lessons: 73
Number of slides: 399
Videos: 14.7 hours
Preview this course
Want to see what this course is like? Checkout our Courseware Demo to preview this course and others.
Course content
Frontend development generics
- Introduction to webdesign
- The difference between frontend and backend
- Roles in webdevelopment
- HTML
- HTML overview
- HTML 5 boilerplate
- HTML elements
- HTML attributes
- Browser tools
- Using the Browser its Developer Tools
- Using the Error Console
- Monitoring the network requests
- Dealing with browser caching
- Elements pane vs HTML source
- Browser tools
- Toggling the mobile view
- Adding some temporary CSS code
- Forcing an element its state
- Going incognito
- Preserving logs
- Throttling networking traffic
- Running a Lighthouse scan
- Inspecting the Application state
- Blocking requests
- Troubleshooting webpages
- CSS
- CSS basics
- Responsiveness
- Sizes in CSS
- Advanced CSS topics
- CSS animations
- Font families
- CSS Grids
- CSS Flexbox
- CSS preprocessors
- LESS
- SASS
- Building tools
- CSS modules
- Working with PostCSS
- Introducing Tailwind
- Tailwind
- Colors in CSS
- JavaScript and jQuery
- jQuery
- Images
- Images
- SVG
- overview
- Characters and encodings
- Characters and encoding
- Performance
- How browser caching works
- Core Web Vitals
PHP Basics
- Introduction
- PHP community
- Basic syntax
- PHP basics
- Working with arrays
- Operators
- Comments
- Hinting
- Global constants
- Lambdas & closures
- Coding standards
- Reviewing code
- PHP and MySQL
- MySQL basics
- Assignment: Create a new database table
- Filesystem
- Handling files
- Dealing with JSON
- Dealing with CSV
- Dealing with XML
- Regular expressions
- Regular expressions
- PHPStorm
- Getting a PHPStorm license
- Overview of PHPStorm
- Requirements for running PHPStorm
- Installing PHPStorm
- Opening a project in PHPStorm
- Changing the PHP version in PHPStorm
- Composer settings in PHPStorm
- Using PHPStorm plugins
- Enabling the Magento plugin in PHPStorm
- Opening up the context menu
- Formatting your code in PHPStorm
- PHPStorm and its 1000 shortcuts
- Excluding Magento files from your PHPStorm project
- Run Configurations in PHPStorm
- Running a PHP built-in server from PHPStorm
- Working with PHPStorm File Templates
- Working with PHPStorm Live Templates
- Configuring PHPUnit within PHPStorm
- Generating code via AI
- Tuning PHPStorm for performance
- Working with JetBrains Gateway remotely
- Tips and tricks
PHP Advanced Programming
- Introduction
- Learning curve
- Development environment
- Syntax
- PHP 7.0 syntax
- PHP 7.1 syntax
- PHP 7.2 syntax
- PHP 7.3 syntax
- PHP 7.4 syntax
- PHP 8.0 syntax
- PHP 8.1 syntax
- PHP 8.2 syntax
- PHP 8.3 features
- PHP 8.4 features
- PHP 7.X syntax
- PHP 8.0
- PHP 8.1 syntax
- Generics
- Classes
- Objects and classes
- Exercice: Create classes for a Author-library
- Class elements
- Class types
- Namespaces
- Assignment: Use namespaces
- Predefined classes and interfaces
- Tools
- Tools overview
- Composer
- Assignment: Implement composer
- Assignment: Add simple templating
- Composer
- Requiring a composer package
- Semantic versioning
- install vs update
- Dealing with composer repositories
- Local composer repositories
- Class autoloading
- Popular Composer packages
- Assignment: Autoloading your classes
- Assignment: Add Symfony console
- Assignment: Add logging
- Assignment: Install the wrong composer package
- Coding patterns
- Coding principles
- PSR Standards
- SOLID
- Object calesthenics
- Design patterns
- Assignment: Add MVC to your Author app
- Dependency Injection (DI)
- Other patterns
- Event sourcing
- Imperative vs Declarative
- MVC
- Value objects
- Testing
- Testing
- PHPUnit
- Assignment: Add a functional test to your app
- Unit testing
- Assignment: Test your library with PHPUnit
- Advanced testing
- Miscellaneous
- Deployment
- Behat
- Codeception
- Cypress
- Debugging
- Debugging basics
- PHP errors
- Assignment: Endless loop
- Assignment: Detect PHP errors in Magento module `Yireo_FaultyViewModels`
- Assignment: Memory limit
- Assignment: Unreadable files
- PHP internals
- Code analysis
- Xdebug basics
- Xdebug
- Assignment: Debug the FrontController
- Xdebug profiling
- Xdebug tracing
- Exception basics
- Troubleshooting Magento issues
- Assignment: Dangers of running root
- SonarQube
- Debugging tips
- Miscellaneous
- Output
- Performance
- Security
- Modernizing WordPress
JavaScript Basics
- Basics
- JavaScript built-in objects
- JavaScript encapsulation
- Working with objects
- Casting
- Using the DOM
- Other browser APIs
- Basic concepts
- Read-only objects
- JavaScript engines
JavaScript Advanced
- Syntax
- The problem of JavaScript syntax
- ES6 Template literals
- Transpilers
- TypeScript
- Node basics
- Useful JavaScript tools
- Installing NodeJS
- Adding NPM packages
- Some package suggestions
- Assignment: Create your own CLI
- Scripts in your `package.json` file
- Applications
- Frameworks
- React JS
- Assignment: Create a simple React application
- Vue JS
- Assignment: Create a simple Vue application
- Svelte JS
- Invocation patterns
- Invocation patterns
- Binding the keyword `this`
- Module pattern
- Internals
- Strict Mode
- Understandig the prototype chain
- Prototyping
- Object properties
- Proxy
- Monads
- Collections
- Event loop overview
- Asynchronous calls
- AJAX example with React
- Assignment: Create a React app for your Author AJAX API
- AJAX call in Vue
- Assignment: Create an Vue app for your Author AJAX API
- Promises
- Assignment: Create a CLI script that makes an AJAX call
- Events
- Events
- Events in Node
- Node applications
- Node overview
- Utilities for CLI scripts
- Assignment: Create a CLI script to navigate the filesystem
- Other Node topics
- NPM workspaces
- NPM packages
- Module formats
- Bundlers
- Bundlers
- Webpack
- Vite
- Rollup
- Parcel
- Node in production
- Assignment: Create an Express-based proxy for your Author AJAX API
- Process managers
- Express middleware
- SSR
- Serviceworkers
- Serviceworkers
- ServiceWorker events
- Other topics
- Webcomponents
- Web Components
- Testing
- Basic of testing
- Tape
- Cypress end-to-end testing
- Debugging
- Debugging basics
Linux Fundamentals
- Introduction
- About Linux
- Resources
- Users and groups
- Commands
- Basic shell commands
- Linux permissions
- Creating shell scripts
- Small bits
- Assignment: Diffing and patching
- Configuration formats
- UNIX timestamp
- Networking
- Networking
- Services
- SSH
- Ready-made stacks
- Webservers
- Assignment: Write a simple PHP script to use a remote API
- PHP-FPM
- MySQL database
- Databases
- ElasticSearch database
- Redis
- RabbitMQ
- Varnish
- Git versioning
- Git essentials
- Assignment: Create a git repository
- Using GitHub
- Assignment: Create a GitHub repository
- Assignment: Upload your files
- Advanced git usage
- Git beyond the basics
- Licensing
- Open source licenses
- Remote servers
- Tools for working remotely
- Using SSH
- Windows tips
- Windows Subsystem for Linux
- MacOS tips
- MacOS tools
Docker Essentials
- Basics
- Introduction to Docker
- Assignment: Register at the Docker Hub
- Installing Docker
- Assignment: Docker installation in Ubuntu
- Assignment: Docker installation in Windows WSL
- Assignment: PHP installation in Windows WSL
- Getting started
- Assignment: Kickstart the Docker examples
- docker-compose
- Assignment: Run Apache, PHP, MySQL and ElasticSearch via compose
- Networking
- Volumes
- Creating images
- Registries
- Tips & tricks
- Troubleshooting Docker issues
- Alternatives
- Colima for containers to run Magento
- GitHub Action examples
- Gitpod
- Clustering Docker containers
- Introduction
- Docker Swarm
- Kubernetes
- Kubernetes pods
- Kustomization
- Kubernetes & Helm
- Skaffold
Shopware 6 Administration Development
- Introduction
- Administration architecture
- Common tasks in the Administration
- Adding custom JavaScript
- JavaScript in the Administration
- Compiling the administration
- Plugin configuration
- Plugin configuration
- Assignment: Add a plugin configuration
- Vue architecture
- Vue essentials
- Vue components of the Shopware core
- Assignment: Add a text editor to your plugin configuration
- Registering Vue components
- Add JS to your plugin
- Assignment: Create a dummy JS file in your plugin
- Registering Vue components
- Twig JS
- Assignment: Add a custom component to your plugin configuration
- Custom component in plugin configuration
- Assignment: Add a NPM-based component to your plugin configuration
- Lazy loading of components
- Working with the Shopware object
- The Shopware object
- Shopware.Directive
- Shopware.Helper
- Vue mixins
- Shopware.Service & Shopware.ApiService
- Provide/inject
- Tips and tricks
- Administration modules
- Creating a module
- Assignment: Create a simple module
- Permissions
- Lab Exercise
- Data flow
- Vuex state
- Adding an Administration module
- Admin API
- Using the Admin API
- Sync API
- Creating an Admin API route
- Assignment: Create **custom** Admin-API Route
- Entities in the Administration
- Data layer in Administration
- Managing your entity in the Administration
- Listing your entities
- Admin entity detail page
- Creating a new entity
- The Dealers CRUD example
- Webpack
- Hot Module Reloading
- Webpack essentials
- Adding NPM packages to your JavaScript plugin
- Adding TypeScript
- Vue Single File Components
- Customizing the Administration
- Extending Vue components
- Overriding Vue components
- Changing a TwigJS template
- Calling parent methods
- Injecting into the Vue router
- Extending the product grid
- CMS customization
- Working with CMS content
- Creating a custom CMS block
- Assignment: Add a Bootstrap jumbotron CMS Block
- Creating a custom CMS element
- Assignment: Create a custom CMS Element
- Product customization
- Creating a custom fieldset
- Importing and exporting products
- Admin extension SDK
- Introduction
- End-to-end testing
- Introducing Cypress
- Using Cypress in the Administration
Shopware 6 App Development
- Shopware Apps basics
- Introduction to
- Setting up your development environment
- Name your App Scripts properly
- App manifest.xml
- Converting a Shopware Theme to an app
- Adding Twig templates to your App
- Converting a Shopware Plugin to an app
- Setting up a Shopware app
- Validating your App
- Updating the app in Shopware
- Working with App Scripts
- Dealing with App permissions
- Shopware Apps side projects
- App Scripts
- Extending product page
- Expose App configuration to Twig templates
- Processing the cart with App Scripts
- Executing App Scripts via the Store API
- Executing App Scripts via the Admin API
- Adding custom fields to your Apps
- A media Custom Field via App Scripts
- Discovering the ServiceStubs
- Adding custom entities
- Developer tricks for App Scripts
- Reusable scripts via Twig macros
- Connecting to a SaaS from your Shopware Apps
- Setup AppTemplate
- Coding with the AppTemplate
- Shopware Apps cookbook
- Playing with permissions
Shopware 6 Technical Architecture
- Overview
- Shopware application
- Shopware stack
- Shopware versions
- Licensing
- Symfony in Shopware
- Concepts
- Snippets
- Symfony configuration
- Symfony Flex recipes
- UUID
- Running projects
- Shopware requirements
- Running projects
- Version control
- Project steps
- Environment
- Environment overview
- Native Environments
- Docker solutions
- Using the core Docker Compose
- ddev with Shopware
- Using Dockware
- Virtual or Native Environments?
- Gitpod and Shopware
- Kubernetes
- Hypernode image
- Possibility of a hybrid stack
- Assignment: Setup your own development environment
- Summary
- Installation
- Installation overview
- Environment variables
- Environment variables with Flex
- Modify ENV variable values
- Preparing for the installation
- Installing the Production Template
- Assignment: Install Shopware via `composer`
- Setting up an existing project
- Quiz: Installation
- Post-install
- Switch to `dev` mode
- Install `shopware/dev-tools`
- Assignment: Install the Shopware `dev-tools`
- Modify admin user
- First Run Wizard
- Configuring Sales Channels
- Getting demo data
- Assignment: Install demo-data
- Installing Shopware Store packages via composer
- Redis
- Assignment: Setup Redis
- Disable all caches
- Disable the autoupdater
- Updates
- **Updating** Shopware 6
- Upgrading to Symfony Flex
- Tools
- Shopware console
- Shopware CLI
- Symfony CLI
- Plugins
- Some useful plugins
- Using composer patches
- Composer replacements
- Composer plugins
- Frosh Tools
- Assignment: Install FroshTools
- Frosh Development Helper
- Tinker
- Tinkerwell
- Database tools
- In production
- Deploying Shopware
- Deployment
- Blue Green Deployment
- Continuous integration
- Deployment via artifact
- Deployment with Deployer PHP
- Deploying plugins
- Git essentials
- SSH usage
- ElasticSearch
- Message queue
- Configuring mailers
- Shopware `systemd` services
- Shopware `supervisor` services
- Keeping secrets
- Performance
- MySQL tuning
- PHP tuning
- HTTP Cache
- Varnish
- Symfony locking
- Performance tricks
- Monitoring tools
- Profiling tools
- Troubleshooting
- Deprecated messages in CLI
Shopware 6 Backend Development Advanced
- Database operations
- Introduction
- Using repositories
- Working with products
- Assignment: **Inject a repository** into your controller
- Database migrations
- Assignment: Create an author table
- Creating a product entity extension
- Creating a custom entity
- Assignment: Create a **author entity**
- Assignment: Create Sample Data for entities
- Assignment: Create a CLI plugin for authors
- Assignment: Create an author controller with authors
- Custom fields
- Assignment: Add Custom Fields to the author entity
- Extending Entities
- Translating Entities
- Assignment: Add Translation to an existing Entity
- Entity associations
- Entity Extensions
- Assignment: Using **Entity Extensions** to add Data to an **existing Entity**
- Assignment: Using **Custom Fields** to add Data to an **existing Entity**
- Checkout
- Checkout Overview
- States and State Machines
- Checkout - Collectors
- Assignment: Create custom Checkout **Collector**
- Checkout - Processors
- Assignment: Create custom Checkout **Processor**
- Checkout - Validators
- Assignment: Create custom Checkout **Validator**
- Shipping Methods
- Assignment: Create a __Shipping Method__
- Payment Methods
- Assignment: Create __synchronous__ Payment Method
- Tax overview
- Scheduled Tasks
- Executing Scheduled Tasks
- Create a custom Scheduled Task
- Message queue
- Asynchronous task management with a message queue
- Consuming messages
- Custom messages
- ElasticSearch
- Introduction to ElasticSearch
- Versions
- Alternatives to ElasticSearch
- Terminology
- Connecting to ElasticSearch
- ElasticSearch via Docker
- ElasticSearch on Linux
- ElasticSearch in PHP
- ElasticSearch in Shopware
- Indexing process in Shopware
- Decorating ElasticsearchProductDefinition
- Aggregation APIs
- Analyzers
- Normalizers
- Index and dynamic templates
- Dynamic templates
- ElasticSearch scripts
- Logging in Shopware
- Clustering ElasticSearch
- Scaling tips for ElasticSearch
- ELK stack
- Setting up Kibana
- HTTP cache
- Varnish
- Testing
- Testing overview
- Unit testing
- Setting up your tests
- Integration testing
- Webtesting with Symfony
Shopware 6 Backend Development Basics
- Introduction
- Required Knowledge
- Key facts about Shopware 6
- Architecture
- API overview
- Structure of the database
- Overview of platform bundles
- Symfony services in Shopware 6
- Dependency Injection in **Shopware**
- Playing with wiring
- Using factories
- Extending services
- About the Symfony kernel
- Working with Context
- Working with CLI
- Tips and tricks
- Quiz: Architecture
- Quiz: Service modifications
- Plugin Basics
- Introducing plugins
- Files and folders
- Creating a plugin
- Assignment: Create a **Plugin**
- Adding a plugin configuration
- Assignment: Create a Plugin **with Configuration**
- Lifecycle methods in a plugin
- Managing dependencies
- Service definition in PHP or YAML
- Plugin resources
- Quiz
- Commands
- Creating a CLI command
- Assignment: Create a **CLI Command**
- Injecting services into a command
- Assignment: Inject a Service into **CLI Command**
- Events and subscribers
- Introduction
- Finding available Events
- Event listeners and subscribers
- Assignment: Change **every Product Name** to "SWAG"
- Triggering your own event
- Example with product.loaded event
- Code example with event dispatching and handling
- Subscribing to Twig templating events
- Assignment: Add authors to all pages
- Routing Architecture
- Types of controllers
- Creating a JSON controller
- Assignment: Creating a **JSON** controller
- Creating a page controller
- Assignment: Creating a **page controller**
- Adding flash messages
- Common Storefront controller tasks
- Injecting dependencies in a controller
- Assignment: Inject configuration values
- Overloading controllers
- Dealing with SEO URLs
- Configuration-based routes
- Store API
- Using the Store API
- Examples of using the Store API
- Creating a Store API Route
- Assignment: Create **custom** Store-API Route
- OpenAPI annotation
- Creating a Store API Route
- Misc
- Indexing products and other entities
- Working with the filesystem
- Dealing with different currencies
- Troubleshooting
- Additional DI topics
- Setter injection
- Dependency Injection
- Container extensions
- Loading additional configuration files
Shopware 6 Frontend Development Advanced
- Introduction
- What Will Be Covered?
- Essentials
- Development setup
- Creating a theme
- Exercise: Create a theme
- Creating a plugin
- Exercise: Create a plugin
- Twig essentials
- Exercise: Override some Twig template
- Advanced Twig
- Adding new Twig variables
- Using theme.json variables in SCSS and Twig
- Using plugin variables (config.xml)
- Adding global Twig variables
- Adding a custom Twig filter
- Adding a custom Twig function
- Assignment: Create a custom function to expose the product repository
- Extending the page
- Pages and Pagelets
- Assignment: Create an order counter per product
- Extending the footer pagelet
- Using the StorefrontRenderEvent
- Add a middle name to a customer form
- Assignment: Add a company field to the customer registration
- JavaScript essentials
- JavaScript in the Storefront
- Assignment: Compile JS sources
- Adding JavaScript to your Shopware plugin
- Assignment: Create a custom JS plugin
- Compiling custom NPM packages
- Assignment: Implement a color picker
- Using theme variables in JavaScript
- Assignment: Add a variable to a JS plugin
- Dealing with Viewports in your Shopware JavaScript
- JavaScript advanced
- JavaScript in the Storefront
- Exercise: Compile JS sources
- Adding JavaScript to your Shopware plugin
- Exercise: Create a custom JS plugin
- Using jQuery
- Using plugin variables in JS
- Debugging JavaScript
- Overriding an existing JavaScript plugin
- Overriding the OffCanvasCartPlugin options
- Overriding Tiny Slider
- Dealing with JavaScript events in Shopware 6
- Common JavaScript utilities
- Using AJAX in the Shopware storefront
- Dealing with Viewports in your Shopware JavaScript
- Using the DOM in your Shopware JS plugin
- Webpack
- Webpack essentials
- Adding NPM packages to your JavaScript plugin
- Adding TypeScript
- Shopware Apps
- Introduction to Shopware Apps
- App manifest.xml
- Shopware PWA
- Introduction to Shopware PWA
Shopware 6 Frontend Development Basics
- Introduction
- Shopware 6 Frontend Development
- Prerequisites
- Terms used in this course
- Getting started
- Development setup
- Assignment: Prepare your environment
- Disable caching
- Assignment: Disable caching
- IDE setup
- Assignment: Configure your IDE
- Using the Symfony Profiler
- Project and Directory structure
- CLI tools
- Creating a new theme
- Assignment: Create a new theme
- Theme configuration
- Theming basics
- Theming structure
- Explaining the theme.json file
- Assignment: Playing with the JSON
- Theme inheritance
- Working with assets
- Assignment: Copy files from plugin folder
- Assignment: Copy files from theme folder
- Translations
- Twig templating
- Understanding Twig templating
- Debugging Twig templates
- Twig filters
- Shopware-specific Twig tags
- Twig template overrides
- Assignment: Include your own template
- Assignment: Override the logo
- Assignment: Override some Twig template
- Assignment: Show an icon
- Assignment: Add a Bootstrap jumbotron
- Working with assets in Twig
- Assignment: Display an asset via Twig
- Remove the phonenumber from the contact form
- Adding a custom field to the footer
- Assignment: Override the footer
- Overriding a logo
- Assignment: Override the logo
- Using an SVG logo
- Working with variables in Twig
- CSS & SCSS
- CSS strategy
- Hot Module Reloading
- Assignment: Enable Hot Module Reloading
- Introducing SCSS
- Internals of SCSS compilation
- Modifying SCSS variables
- Assignment: Modify some SCSS variables
- Working with Twitter Bootstrap
- Using theme.json variables in SCSS and Twig
- Assignment: Add a variable to a SCSS file
- Assignment: Add a variable to a Twig template
- Working with assets in CSS
- Assignment: Display asset via CSS (1/2)
- Responsive webdesign
- Adding FontAwesome icons
- Using Tailwind instead of Bootstrap
- Customizing pages
- Snippets
- Assignment: Add a snippet
- Customizing the product details page
- Assignment: Modify the product page
- Adding a Custom Field to the product page
- Assignment: Add a Custom Field
- Adding a property to the product page
- Assignment: Add a Property
- Adding a tab to the product detail page
- Assignment: Add a custom tab
- Customizing the category page
- Adding a custom field to a category
- Assignment: Add a Custom Field
- Customizing the homepage
- Assignment: Add a custom Twig template
- Accessing the request in Twig
- Assignment: Use request details in Twig
- Modifying the checkout
- Adding a custom field to the checkout
- Add a custom block with a shipping method
- Assignment: Add a block to a shipment method
- Checkout and sales
- Cart architecture
- Order state machines
- Introduction to payment handlers
- Modifying the revocation policy
- Performance tuning
- Performance metrics
- Caching strategies
- Optimizing images
- CSS & JS bundling
- Using a CDN
- Minify HTML
- Optimizing fonts
- Advanced
- Using `@Routes`
- Customizing email templates
- Working with CMS content
- Using media entities
- Assignment: Show a custom media image
- Using flatpickr for the birthday field
- Adding global Twig variables
- Adding a custom Twig filter
- Add a middle name to a customer form
- Add a custom block with a shipping method
- Assignment: Add a block to a shipment method
- Other topics
- Development tips
- Setting up PHPStorm
- Using a logger
- Using Redis
Shopware 6 Technical Merchant
- Introduction
- Shopware overview
- Shopware plans
- Shopware versions
- General administration
- CMS
- CMS overview
- CMS pages
- Assignment: Customize the product page
- CMS sections
- CMS blocks and elements
- Assignment: Customize the homepage
- External CMSes
- Products
- Products
- Essential characteristics
- Variants
- Categories
- Categories overview
- Navigations
- Assignment: Create a landing page for promoted products
- Custom Fields
- Custom Fields overview
- Assignment: Create a Custom Field for a product
- Sales
- Sales in Shopware
- Quiz: Sales
- Extensions
- Extension overview
- Plugins
- Themes
- Apps
- Going headless with Shopware
- Logic building
- Business Events overview
- Flow Builder
- Rule Builder
Shopware 6 PWA Development
- Introduction
- Vocabulary
- Introducting Shopware PWA
- Installation
- Development tools
- Shopware PWA installation
- Configuration
- Configuration of domains
- PWA commands
- Different modes for going to production
- `shopware-pwa plugins` command
- Package overview
- Combined sources
- Vue essentials
- Vue basics
- Simple counter
- Dynamic listing
- Composition API
- Simple counter with the Composition API
- `ref`, `reactive`, `computed` and `toRef`
- Composables in Shopware PWA
- Watching values
- Dealing with Vue slots
- State management
- Vue partials
- Working with Nuxt.js
- Nuxt.js introduction
- Installing Nuxt.js
- Nuxt.js theming
- Nuxt.js architecture
- NuxtJS Configuration
- Nuxt.js modules
- NuxtJS plugins
- Customize routing
- NuxtJS content module
- Theming
- First steps into Shopware PWA theming
- Creating page layouts
- Views
- Overriding a component
- Working with Storefront UI
- Override the footer
- CSS styling
- Addding Google fonts
- Overriding Storefront UI components
- Change meta-data
- PWA plugins
- Creating a local plugin
- Using Shopware plugins in the PWA
- Creating a Shopware plugin for PWA
- Working with PWA slots
- Extend the navigation menu
- Adding layouts and pages via your PWA plugin
- Overriding remote PWA plugins
- Using settings in your plugin
- API communication
- Interacting with the Shopware APIs
- shopware.stoplight.io
- Examples of using the Store API
- Setting API defaults
- Using the API
- Creating a Store API Route
- Working with the CMS
- First peek at CMS architecture
- Overriding a CMS Block
- Overriding a CMS Element
- Jumbotron example
- Customizing the theme
- Customizing the category page
- Customizing the product page
- Using product functions
- Checkout overview
- Disable cart notifications
- Advanced topics
- Interceptors
- Shopware PWA in production
- Deployment
- AJAX calls with SSR
- Adding the right context
- Deployment with SSG
- Deployment with SSR
- Tips and tricks
- Building a PWA without Shopware PWA
- Troubleshooting
- Best practices