SCSS & Styling
Variablen überschreiben
Das Aussehen der Storefront entsteht in SCSS. Ein Theme bringt eigene Stile ein und überschreibt die Variablen, mit denen Shopware sein Standard-Design baut.
Einstiegspunkte in theme.json
Der style-Block in theme.json legt fest, welche SCSS-Dateien in welcher Reihenfolge kompiliert werden:
"style": [
"@Storefront",
"app/storefront/src/scss/base.scss"
]
@Storefront zuerst bindet das komplette Standard-Design ein; die eigene base.scss kommt danach und darf überschreiben.
Storefront-Variablen überschreiben
Shopware baut sein Design aus SCSS-Variablen (Farben, Abstände, Schriftgrößen). Die eigene SCSS-Datei kann sie neu setzen:
// app/storefront/src/scss/base.scss
$sw-color-brand-primary: #04151f;
$sw-color-brand-secondary: #c8102e;
$font-family-base: 'Inter', sans-serif;
// eigene Regeln
.header-main {
border-bottom: 2px solid $sw-color-brand-primary;
}
Weil die eigene Datei nach @Storefront geladen wird, gewinnen diese Werte.
Struktur statt einer Riesendatei
Bei wachsendem Theme lohnt sich Aufteilung mit @import oder @use:
scss/
├── base.scss // bindet die Teile ein
├── _variables.scss // eigene Variablen
├── _header.scss
└── _footer.scss
So bleibt das Styling wartbar und die Zuständigkeiten klar.
Nicht vergessen: kompilieren
SCSS-Änderungen werden erst nach bin/console theme:compile sichtbar. In der Entwicklung hilft der Storefront-Watcher, der bei jeder Änderung automatisch neu baut (siehe Kapitel „Kompilieren & Workflow").
Grenze zum Theme Manager
Fest im SCSS gesetzte Werte sind im Code verankert. Sollen Betreiber Farben oder Schriften selbst im Admin ändern, gehören die Variablen in den config-Block der theme.json – das ist das nächste Kapitel.
Kurz: eigene SCSS-Datei nach
@Storefrontladen, Standard-Variablen überschreiben, sauber in Teildateien gliedern – und nach jeder Änderung kompilieren.