Getting Started with Shopware 6 Development

작성자

카테고리:

← 피드로
DEV Community · Akshay Nikhare · 2026-07-24 개발(SW)

Akshay Nikhare

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

Enter fullscreen mode Exit fullscreen mode

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

Enter fullscreen mode Exit fullscreen mode

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" }
    }
  }
}

Enter fullscreen mode Exit fullscreen mode

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

Originally published at cadnative.com.

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다