Shopware 6 is a modern, API-first e-commerce platform built on Symfony and Vue.js. If you're coming from Shopware 5 or another platform, the architecture shift can feel steep — but once it clicks, it's powerful and highly extensible.
Understanding the architecture
Shopware 6 is split into two main areas:
- Core — the Symfony-based PHP backend that handles business logic, APIs, and the administration panel.
- Storefront — a Twig-based frontend layer with optional headless API access.
Most customisation happens through plugins. A plugin can override templates, add new API endpoints, register event listeners, or inject custom services.
Setting up a local environment
The fastest way to get started is with the official Docker setup:
git clone https://github.com/shopware/shopware.git
cd shopware
docker compose up -d
Once running, access the admin at http://localhost/admin and the storefront at http://localhost.
Creating your first plugin
Shopware provides a CLI tool to scaffold plugins:
php bin/console plugin:create MyPlugin
php bin/console plugin:install --activate MyPlugin
This generates a src/MyPlugin.php entry point and a composer.json. From here you can:
- Register services in
Resources/config/services.xml - Override templates in
Resources/views/storefront/ - Add migration files in
src/Migration/
Theme customisation
Themes in Shopware 6 are also plugins. They use SCSS for styling and can expose configuration variables that shop owners can control via the admin UI:
<!-- Resources/theme.json -->
{
"name": "MyTheme",
"author": "Cadnative",
"views": ["@Storefront", "@Plugins", "@MyTheme"],
"style": ["app/storefront/src/scss/overrides.scss"],
"config": {
"fields": {
"brand-color": { "label": "Brand colour", "type": "color", "value": "#1B5A6B" }
}
}
}
Performance tips
- Enable HTTP cache in production — Shopware has a built-in reverse proxy layer.
- Use Elasticsearch for product search at scale.
- Profile slow queries with the Symfony profiler (
/_profiler). - Leverage Sales Channel API for headless storefronts instead of rendering Twig server-side.
Next steps
- Read the official developer docs
- Explore the Shopware GitHub repos
- Reach out to us at cadnative.com if you need expert help
Originally published at cadnative.com.
Top comments (0)