Novastrix Varianten-Anzeige
Überblick
Wenn deine Produkte drei oder mehr Eigenschaftsgruppen haben (z.B. Farbe, Größe, Material, Muster), wird Shopwares Standard-Variantenauswahl schnell unübersichtlich — alle nicht-kombinierbaren Optionen sehen gleich aus (durchgestrichen, leicht ausgegraut). Dieses Plugin ersetzt diese dezente Darstellung durch ein klares 4-Zustand-System, das deinen Kunden auf einen Blick zeigt, welche Optionen sofort wählbar sind, welche nur in anderen Konfigurationen existieren, welche nirgends mehr lieferbar sind und welche gerade ausgewählt ist. Zusätzlich siehst du pro Option ein explizites Lieferbar/Nicht lieferbar-Badge, und alle Farben, Texte und das Verhalten passt du komplett an dein Shop-Branding an — Farbänderungen greifen sofort, ohne dass du das Theme neu kompilieren musst.
Auf einen Blick
- 4-Zustand-Darstellung: Grün (direkt verfügbar), Amber (andere Konfiguration), Amber-Grau (überall ausverkauft), Blau (aktuelle Auswahl)
- Per-Option Badge "Lieferbar"/"Nicht lieferbar" mit separaten Schaltern je Zustand
- Grüner Status bleibt erhalten, wenn die aktuelle Variante ausverkauft ist (verhindert den "alles Amber"-Effekt)
- Unterstützung aller Darstellungsformen: Text, Farbmuster, Bild-Thumbnails, Dropdown-Select
- Konfigurierbarer Schwellenwert — Styling greift erst ab N Eigenschaftsgruppen
- 21 Farbvariablen, live umschaltbar ohne Theme-Recompile
- Optionale Legende und Tooltips
- Gruppen mit nur 1 verbleibenden Option automatisch ausblendbar
- Optionale Sichtbarkeit von Varianten und Elternprodukten in der Suche
Voraussetzungen
- Shopware: ab 6.6.0 (6.6.x und 6.7.x)
- PHP: 8.1 oder höher
Hinweis: Auf Shopware 6.6 ergänzt das Plugin selbstständig die
is-combinable/not-combinableCSS-Klassen, die sonst nur aktiv sind wenn dasACCESSIBILITY_TWEAKS-Feature-Flag an ist.
Installation
- Im Admin unter Erweiterungen → Store nach "Novastrix Varianten-Anzeige" suchen und das Plugin laden
- Unter Erweiterungen → Meine Erweiterungen installieren und aktivieren
Nach der ersten Aktivierung kompiliert Shopware das Theme automatisch. Spätere Farbänderungen in der Plugin-Konfiguration greifen direkt nach einem Cache-Clear — du musst das Theme dafür nicht neu kompilieren.
Konfiguration
Öffne Einstellungen → System → Erweiterungen → Novastrix Varianten-Anzeige → Konfigurieren (oder direkt unter Meine Erweiterungen den "Konfigurieren"-Link). Alle Farben, Texte und Schwellenwerte passt du hier an dein Shop-Branding an.

Die Einstellungen sind in sieben Bereiche aufgeteilt:
Suche
Steuert wie Varianten und Elternprodukte in der Shop-Suche erscheinen. Kategorien sind davon nicht betroffen.
| Feld | Typ | Beschreibung | Standard | Beispiel |
|---|---|---|---|---|
| Varianten einzeln in der Suche anzeigen | Ja/Nein | Jede Variante erscheint als eigenes Suchergebnis statt gruppiert | Aus | Ein |
| Elternprodukte in der Suche anzeigen | Ja/Nein | Elternprodukte erscheinen zusätzlich zu Varianten. Setzt Verkaufskanal-Sichtbarkeit voraus | Aus | Aus |
Allgemein
| Feld | Typ | Beschreibung | Standard | Beispiel |
|---|---|---|---|---|
| Min. Eigenschaftsgruppen für erweiterten Modus | Zahl | Styling greift erst ab dieser Gruppenanzahl | 3 | 2 |
| Verfügbarkeits-Legende anzeigen | Ja/Nein | Legende unter dem Konfigurator zur Farbkodierung | Ein | Ein |
| Tooltips bei Amber-Optionen anzeigen | Ja/Nein | Hover-Tooltip bei "Andere Konfiguration"-Optionen | Ein | Ein |
| Gruppen mit nur 1 verbleibenden Option ausblenden | Ja/Nein | Einzel-Optionen verstecken (Wert wird trotzdem übermittelt) | Aus | Ein |
| Grüner Status auch bei nicht lieferbaren Varianten | Ja/Nein | Hält den Grün-Status für die aktuelle Auswahl, auch wenn die Variante ausverkauft ist. Ohne diesen Schalter kollabiert die 4-Zustand-Ansicht bei Lagerbestand 0 zu "alles Amber" | Ein | Ein |
| Reihenfolge nach Eigenschaften-Katalog (Position) erzwingen | Ja/Nein | Sortiert Gruppen und Optionen strikt nach der globalen Position im Eigenschaften-Katalog (Kataloge → Eigenschaften → Position). Ohne diesen Schalter nutzt Shopware die Per-Produkt-Position aus dem Varianten-Tab — eine Änderung im Katalog wirkt sich dann nur auf neu angelegte Produkte aus | Ein | Ein |
Varianten-Aggregation
Optionaler Hintergrund-Job. Wenn du den Schalter aktivierst, läuft alle 15 Minuten ein geplanter Task und überschreibt für jeden Vater-Artikel (Artikel mit Varianten) den Bestand und die Preise mit Werten, die aus den Varianten berechnet werden — Bestand als Summe aller Varianten-Bestände, Preis pro Währung als günstigster Brutto-/Netto-Preis aller Varianten in dieser Währung.
| Feld | Typ | Beschreibung | Standard | Beispiel |
|---|---|---|---|---|
| Eltern-Preis & -Bestand aus Varianten aggregieren (alle 15 Minuten) | Ja/Nein | Startet den geplanten Aggregations-Job. Solange aus, passiert nichts — der Vater-Artikel bleibt unverändert, du pflegst Preis und Bestand wie gewohnt selbst. | Aus | Ein |
Wann der Schalter sinnvoll ist:
- Du verkaufst Konfigurations-Produkte (z.B. T-Shirt in mehreren Farben/Größen), und im Listing/Suchergebnis erscheint nur der Vater-Artikel. Ohne Aggregation steht da der vom Admin gepflegte Vater-Preis und der vom Admin gepflegte Vater-Bestand — beides driftet schnell auseinander, wenn Varianten umgepreist oder nachbestellt werden.
- Mit aktivem Schalter zeigt das Listing den Gesamt-Bestand aller Varianten und den günstigsten verfügbaren Variantenpreis pro Währung. Aktualisiert sich automatisch alle 15 Minuten.
Was passiert mit Vater-Werten, die du manuell gesetzt hast: Der Job überschreibt Bestand und Preis des Vater-Artikels — deine manuellen Eingaben am Vater werden ersetzt. Aktivere den Schalter nur, wenn du den Vater-Artikel nicht für eigene Preis-/Bestands-Logik verwendest. Variantenwerte selbst bleiben unangetastet.
Varianten ohne eigenen Preis (Preis vom Vater geerbt) zählen bei der Preis-Aggregation nicht mit — sonst würde der Vater-Preis sich selbst überschreiben. Beim Bestand zählen sie wie alle anderen Varianten.
Farben: Verfügbare Optionen (Grün)
Das Grün signalisiert: "Diese Option passt zu deiner aktuellen Auswahl und ist direkt wählbar."
| Feld | Typ | Standard | Beispiel |
|---|---|---|---|
| Hintergrundfarbe | Farb-Hex | #e8f5e9 | #e0f7fa |
| Rahmenfarbe | Farb-Hex | #4caf50 | #00796b |
| Textfarbe | Farb-Hex | #2e7d32 | #004d40 |
| Hover-Hintergrund | Farb-Hex | #c8e6c9 | #b2dfdb |
Farben: Optionen in anderer Konfiguration (Amber)
Das Gelb-Orange signalisiert: "Diese Option existiert, aber deine anderen Auswahlen werden angepasst wenn du sie wählst." Klickbar — Shopware springt automatisch zur nächsten passenden Kombination.
| Feld | Typ | Standard | Beispiel |
|---|---|---|---|
| Hintergrundfarbe | Farb-Hex | #fff8e1 | #fef3c7 |
| Rahmenfarbe | Farb-Hex | #ffb300 | #f59e0b |
| Textfarbe | Farb-Hex | #f57f17 | #92400e |
| Hover-Hintergrund | Farb-Hex | #ffecb3 | #fde68a |
| Eigenes Visual für ausverkaufte Amber-Optionen | Ja/Nein | Ein | Ein |
| Hintergrund (ausverkauft) | Farb-Hex | #f5f5f5 | #e5e7eb |
| Rahmenfarbe (ausverkauft) | Farb-Hex | #bdbdbd | #9ca3af |
| Textfarbe (ausverkauft) | Farb-Hex | #757575 | #6b7280 |
Wenn eine Amber-Option im ganzen Produkt nirgends mehr lieferbar ist, zeigt das Plugin sie abgeschwächt in Grau-Amber (gestrichelter Rand, halbtransparent). Die Option bleibt klickbar — der Kunde kann die Variante weiter erreichen, sieht aber auf einen Blick, dass sie überall ausverkauft ist. Schalter aus bedeutet: Alle nicht-kombinierbaren Optionen behalten das normale Amber-Styling.
Farben: Ausgewählte Option (Blau)
Das Blau markiert die Option, die der Kunde gerade aktiv ausgewählt hat.
| Feld | Typ | Standard | Beispiel |
|---|---|---|---|
| Hintergrundfarbe | Farb-Hex | #1976d2 | dein Shop-Primary |
| Rahmenfarbe | Farb-Hex | #1565c0 | dein Shop-Primary-Dark |
| Textfarbe (für Text-Buttons) | Farb-Hex | #ffffff | #ffffff |
Lieferbarkeits-Badge
Zeigt pro Option ein kleines "Lieferbar"/"Nicht lieferbar"-Badge zusätzlich zur Farbkodierung. Der Badge-Status kommt aus dem echten Shopware-Lagerbestand (inklusive Closeout-Regel) — unabhängig davon, ob die Option grün oder amber ist. Du steuerst getrennt, auf welchen Zuständen der Badge erscheint.
| Feld | Typ | Beschreibung | Standard | Beispiel |
|---|---|---|---|---|
| Badge auf der aktuellen Auswahl anzeigen | Ja/Nein | Lieferbar-Status auf der blauen Option | Ein | Ein |
| Badge auf direkt verfügbaren (grünen) Optionen anzeigen | Ja/Nein | Klärt bei grünen Optionen, ob die Variante tatsächlich am Lager ist | Ein | Ein |
| Badge auf Amber-Optionen (andere Konfiguration) anzeigen | Ja/Nein | Amber trägt bereits Tooltip und Styling — Badge standardmäßig aus | Aus | Ein |
| Badge-Text: lieferbar | Text | Fällt auf Snippet "Lieferbar" zurück | leer | "Auf Lager" |
| Badge-Text: nicht lieferbar | Text | Fällt auf Snippet "Nicht lieferbar" zurück | leer | "Ausverkauft" |
| Badge-Hintergrund: lieferbar | Farb-Hex | #2e7d32 | dein Shop-Success-Ton | |
| Badge-Hintergrund: nicht lieferbar | Farb-Hex | #b00020 | dein Shop-Error-Ton |
Eigenschaftsgruppen-Karten
Rahmen und Hintergrund der einzelnen Gruppen-Container sowie der Legende.
| Feld | Typ | Standard | Beispiel |
|---|---|---|---|
| Karten-Hintergrund | Farb-Hex | #fafafa | #ffffff |
| Karten-Rahmenfarbe | Farb-Hex | #e3e3e3 | #e5e7eb |
| Karten-Hover-Hintergrund | Farb-Hex | #f5f5f5 | #f9fafb |
| Gruppen-Titelfarbe | Farb-Hex | #555555 | #374151 |
| Legenden-Hintergrund | Farb-Hex | #f9f9f9 | #f3f4f6 |
Texte
Überschreibe die Standard-Texte der Legende und der Tooltips. Leer lassen, um die eingebauten Snippet-Übersetzungen (Deutsch/Englisch) zu nutzen.
| Feld | Snippet-Fallback (de-DE) |
|---|---|
| Legende: Ausgewählt | "Aktuelle Auswahl" |
| Legende: Verfügbar | "Direkt verfügbar" |
| Legende: Andere Konfiguration | "In anderer Konfiguration verfügbar" |
| Legende: überall ausverkauft | "Überall ausverkauft" |
| Tooltip-Text für Amber-Optionen | "Verfügbar – andere Optionen werden angepasst" |
| Tooltip-Text für ausverkaufte Amber-Optionen | "In anderer Konfiguration – aktuell ausverkauft" |
Storefront-Verhalten
Das Plugin wirkt ausschließlich auf der Produktdetailseite von Artikeln mit Varianten. Sobald ein Produkt die konfigurierte Mindestanzahl an Eigenschaftsgruppen erreicht (Standard: 3), wird die erweiterte Darstellung aktiviert.
Beispiel: Produkt mit Varianten-Konfigurator

Jede Option bekommt je nach Status eine eindeutige Darstellung:
- Grün — sofort verfügbar, passt zur aktuellen Auswahl
- Amber — existiert in einer anderen Konfiguration, Shopware springt beim Klick zur nächsten passenden Variante
- Amber-Grau — Option existiert zwar noch, ist aber in keiner einzigen Kombination mehr lieferbar (4. Zustand, abgeschwächt dargestellt, gestrichelt)
- Blau — gerade ausgewählt
- Ausgeblendet — existiert in keiner aktiven Variante
Zusätzlich zeigt das Plugin pro Option ein kleines Lieferbar / Nicht lieferbar-Badge. Der Badge-Status kommt aus dem echten Lagerbestand der jeweiligen Variante — er ist getrennt von der Farbe. So erkennt der Kunde auf einen Blick, dass eine grün markierte Kombination zwar existiert, aber gerade nicht bestellbar ist. Welche Zustände das Badge tragen, stellst du pro Farbe in der Plugin-Konfiguration ein (Standard: aktuelle Auswahl + grüne Optionen).
Unterstützt werden alle vier Darstellungsformen: Text-Buttons, Farbmuster (Color Swatches), Bild-Thumbnails und Dropdown-Selects. Die Legende unter dem Konfigurator erklärt die Farbkodierung dem Kunden — der Depleted-Eintrag erscheint nur, wenn du den 4. Zustand aktiviert hast.
Produkte unter der Schwelle
Produkte mit weniger als der konfigurierten Gruppenanzahl werden nicht angefasst — sie behalten Shopwares Standard-Darstellung. So entstehen keine optischen Brüche zwischen einfachen und komplexen Artikeln.
Vollständige Produktseite

Use Cases
Mode-Shop mit Varianten in Farbe, Größe, Material
Du verkaufst Shirts in 5 Farben, 4 Größen und 3 Materialien — also 60 Kombinationen, aber nur 20 davon sind tatsächlich lieferbar. Ohne das Plugin sehen Kunden einen Wust aus gleichartig ausgegrauten Optionen. Mit dem Plugin:
So gehst du vor:
- Plugin installieren und aktivieren
- Schwellenwert in der Konfiguration auf 3 belassen (Standard)
- Optional: Legenden-Texte an deine Shop-Sprache anpassen
- Storefront-Produktseite aufrufen — der Konfigurator zeigt nun Grün für wählbare, Amber für wählbar-aber-andere-Konfig, Blau für aktuelle Auswahl
Möbel-Shop mit Dimensionen, Holzart, Beschlag-Farbe
Bei hochpreisigen Produkten mit mehreren konfigurierbaren Dimensionen ist die Wahl-Psychologie entscheidend. Der Kunde soll nicht das Gefühl haben, dass seine Auswunschkombination unmöglich ist.
So gehst du vor:
- Schwellenwert auf 3 (oder niedriger) setzen
- Amber-Farbe auf eine warme Akzentfarbe deines Brandings stellen (z.B. #c2410c für erdiges Orange)
- Tooltip-Text anpassen: "Verfügbar – andere Merkmale werden automatisch angepasst"
B2B-Shop mit vielen Varianten (Lagerbestand wechselt)
Im B2B verschwinden einzelne Kombinationen je nach Lager. Statt dem Kunden leere Gruppen zu zeigen:
So gehst du vor:
- Option "Gruppen mit nur 1 verbleibenden Option ausblenden" aktivieren
- Der Kunde sieht nur Gruppen mit echter Auswahl
- Wenn das Lager wieder aufgefüllt wird, erscheint die Gruppe automatisch wieder
Konfigurations-Produkt mit dynamischem Preis und Gesamt-Bestand im Listing
Du verkaufst T-Shirts in mehreren Farben und Größen, im Kategorie-Listing erscheint nur der Vater-Artikel. Der Vater hat einen veralteten Preis von 19,90 € und Bestand 0, weil ihn niemand pflegt — die Varianten liegen aber zwischen 14,90 € und 24,90 € und haben in Summe 80 Stück auf Lager.
So gehst du vor:
- In der Konfiguration den Schalter "Eltern-Preis & -Bestand aus Varianten aggregieren (alle 15 Minuten)" im Bereich "Varianten-Aggregation" einschalten
- Speichern
- Spätestens 15 Minuten später (oder einmalig sofort via
bin/console scheduled-task:run-single novastrix_variant_display.aggregate_parent) zeigt der Vater-Artikel im Listing den Bestand 80 und den günstigsten Variantenpreis (14,90 €) — pro Sales-Channel-Währung getrennt
Wichtig: Ab jetzt überschreibt der Job alle 15 Minuten den vom Vater-Artikel gepflegten Preis und Bestand. Wenn dein Workflow den Vater-Artikel für andere Zwecke nutzt (z.B. eigene Preislogik), lass den Schalter aus.
FAQ
Wann sehe ich den Effekt des Plugins?
Nur auf Produkten mit mindestens drei Eigenschaftsgruppen (Standardschwelle). Unter dieser Schwelle bleibt Shopwares Standard-UI aktiv. Du kannst die Schwelle in der Konfiguration unter "Min. Eigenschaftsgruppen für erweiterten Modus" anpassen.
Warum ändern sich die Farben nicht, obwohl ich sie im Admin angepasst habe?
Das Plugin rendert die Farben als CSS-Variablen pro Produktseite. Nach einer Farbänderung reicht ein Cache-Clear:
bin/console cache:clear
Ein theme:compile ist dafür nicht mehr nötig. Im Browser einmal mit Hard-Reload (Strg+Shift+R) nachladen, falls der Browser-Cache noch das alte CSS hält.
Was bedeutet der graue "Amber"-Zustand mit gestricheltem Rand?
Das ist der 4. Zustand "überall ausverkauft": Eine Option existiert noch in einer anderen Konfiguration, aber keine einzige Variante mit dieser Option ist aktuell lieferbar. Die Option bleibt klickbar — dein Kunde erreicht die Variante und sieht dort den Ausverkauft-Status. Der gedimmte Look spart ihm aber den Klickweg, wenn er nur lieferbare Optionen sucht. Aus lässt sich das Verhalten mit dem Schalter "Eigenes Visual für ausverkaufte Amber-Optionen" im Bereich "Optionen in anderer Konfiguration (Amber)".
Wann erscheint das Lieferbar/Nicht lieferbar-Badge?
Standardmäßig auf der aktuellen Auswahl (Blau) und auf direkt verfügbaren Optionen (Grün). Für Amber-Optionen ist der Badge optional und standardmäßig aus, weil Amber schon Tooltip und Rand-Styling mitbringt. Jede Kombination stellst du pro Zustand in der Plugin-Konfiguration unter "Lieferbarkeits-Badge" einzeln ein. Die Badge-Texte ("Lieferbar"/"Nicht lieferbar") überschreibst du dort ebenfalls, zusammen mit Hintergrundfarben.
Beeinflusst das Plugin die Performance?
Minimal. Pro Produktdetailseite entsteht etwa 5ms Overhead durch einen zusätzlichen Subscriber. Es werden keine zusätzlichen Datenbank-Abfragen gemacht — die Daten kommen aus den bereits geladenen Page-Informationen. Auf Produkten unter der Gruppenschwelle ist der Overhead null. Die Storefront-Ausgabe ist HTTP-Cache-kompatibel.
Was passiert mit Varianten die komplett ausverkauft sind?
Shopware entfernt komplett nicht-existierende Optionen aus dem DOM. Das Plugin stylt nur was Shopware ausliefert. Wenn du zusätzlich Gruppen verstecken willst, die nach Shopwares Bereinigung nur noch eine Option enthalten, aktiviere "Gruppen mit nur 1 verbleibenden Option ausblenden".
Funktioniert das Plugin mit Color Swatches und Bildern?
Ja. Farbmuster und Thumbnails behalten ihr ursprüngliches Aussehen — der Status wird über Rahmenfarbe und ein kleines Badge (Punkt/Haken) angezeigt. Bei Text-Optionen und Dropdowns wird zusätzlich der Hintergrund eingefärbt.
Wird die Suche beeinflusst?
Nur wenn du die entsprechenden Schalter im Bereich "Suche" aktivierst. Standardmäßig bleibt Shopwares Gruppierungsverhalten in der Suche unverändert — das Plugin wirkt nur auf der Produktdetailseite. Kategorie-Listings sind niemals betroffen.
Kann ich eigene Texte statt der Standard-Snippets verwenden?
Ja. Im Bereich "Texte" in der Plugin-Konfiguration kannst du jeden Legenden- und Tooltip-Text überschreiben. Leere Felder fallen auf die eingebauten Deutsch-/Englisch-Snippets zurück.
Ist das Plugin mit Shopware 6.6 und 6.7 kompatibel?
Ja, beide Hauptversionen werden ab 6.6.0 unterstützt. Auf Shopware 6.6 ergänzt das Plugin selbstständig die is-combinable / not-combinable CSS-Klassen, die sonst nur aktiv sind wenn das ACCESSIBILITY_TWEAKS-Feature-Flag an ist.
Wie funktioniert die automatische Parent-Aggregation?
Wenn du den Schalter im Bereich "Varianten-Aggregation" aktivierst, läuft alle 15 Minuten ein Hintergrund-Job. Er liest für jeden Vater-Artikel (Artikel mit mindestens einer Variante) alle zugehörigen Varianten und schreibt zwei Werte auf den Vater zurück: Bestand = Summe aller Varianten-Bestände, Preis pro Währung = niedrigster Brutto-/Netto-Preis aller Varianten in dieser Währung. Mehrere Währungen werden unabhängig voneinander aggregiert — der günstigste EUR-Preis kann von einer anderen Variante kommen als der günstigste USD-Preis.
Warum ist der Aggregations-Schalter standardmäßig aus?
Weil der Job die Vater-Artikel-Werte überschreibt. Bestehende Shops haben oft eigene Logik am Vater (eigene Preisstaffel, manuelle Bestandspflege, externe Sync-Jobs). Ein einmal eingeschalteter Aggregations-Job würde diese Werte alle 15 Minuten überschreiben. Mit Default-aus stellst du sicher, dass nichts automatisch passiert, was du nicht explizit eingeschaltet hast.
Was passiert, wenn meine Varianten keinen eigenen Preis haben?
Varianten mit leerem Preis-Feld erben den Preis vom Vater. Die Aggregation überspringt solche Varianten bei der Preis-Berechnung — sonst würde sich der Vater-Preis aus sich selbst speisen und einfrieren. Beim Bestand zählen geerbte Varianten ganz normal mit. Wenn alle Varianten den Preis erben (du also nur am Vater pflegst), bleibt der Vater-Preis unverändert — nur der Bestand wird aggregiert.
Wann genau läuft der Aggregations-Job?
Im 15-Minuten-Takt aus Shopwares scheduled-task-Framework. Sobald du den Schalter speicherst, registriert sich der Task. Ab dem nächsten Tick (also spätestens nach 15 Minuten) läuft die erste Aggregation. Für einen sofortigen Lauf: bin/console scheduled-task:run-single novastrix_variant_display.aggregate_parent.
Was sortiert der Schalter "Reihenfolge nach Eigenschaften-Katalog (Position) erzwingen"?
Standardmäßig sortiert Shopware die Optionen im Konfigurator nach der Per-Produkt-Position, die du im Varianten-Tab des einzelnen Produkts setzt. Wenn du die globale Reihenfolge im Eigenschaften-Katalog änderst, ziehen die Produkte nicht automatisch nach. Mit aktivem Schalter (Default ein) sortiert das Plugin Gruppen und Optionen strikt nach Kataloge → Eigenschaften → Position — eine einzige Anpassung im Katalog ordnet alle betroffenen Produkte um.
Troubleshooting
Plugin aktiviert, aber die Farben greifen nicht
Leere den Shopware-Cache:
bin/console cache:clear
Danach im Browser einen Hard-Reload machen (Strg+Shift+R), damit der Browser-Cache die neue Produktseite lädt. Die Farben werden pro Produktseite aus deiner aktuellen Konfiguration gerendert — ein Theme-Recompile ist nicht nötig.
Alle Optionen sehen noch gleich aus
Prüfe, ob das Produkt die Mindestgruppenanzahl erreicht (Standard 3). Produkte mit weniger Gruppen bleiben bei der Standard-Darstellung. Für Tests kannst du die Schwelle in der Konfiguration auf 2 oder 1 senken.
Bei ausverkauftem Produkt erscheint alles in Amber
Prüfe, ob der Schalter "Grüner Status auch bei nicht lieferbaren Varianten" im Bereich "Allgemein" aktiv ist (Standard: ein). Mit diesem Schalter bleibt die aktuelle Auswahl grün, auch wenn die Variante Lagerbestand 0 hat.
Konfigurationsänderungen sind nicht sichtbar
Shopware cached die System-Config-Werte. Nach Config-Änderungen einmal den Cache leeren:
bin/console cache:clear
Amber-Optionen sind nicht klickbar
Das ist ein Styling-Problem, kein Logik-Problem. Prüfe, ob ein eigenes Theme-CSS die pointer-events auf Amber-Optionen überschreibt.
Bekannte Limitierungen
Diese Einschränkungen sind aktuell bekannt und technisch bedingt — sie lassen sich nicht über Konfiguration lösen:
- Kategorie-Listings — das Plugin wirkt ausschließlich auf der Produktdetailseite. Listing-Boxen auf Kategorie- oder Startseiten zeigen weiterhin Shopwares Standard-Darstellung.
- Accessibility-Tweaks-Feature — auf Shopware 6.6 werden
is-combinable/not-combinableCSS-Klassen nur gesetzt, wenn das Feature-FlagACCESSIBILITY_TWEAKSaktiv ist. Das Plugin kompensiert das durch ein Template-Override, was aber mit weiteren Theme-Overrides vom Shop-Betreiber kollidieren kann. - HTTP-Cache — wenn Shopwares HTTP-Cache aktiv ist, halten bereits gecachte Produktseiten weiter die alten Farben, bis sie ablaufen oder durch eine Cache-Invalidierung neu gerendert werden. Ein Cache-Clear nach Config-Änderungen löst das sofort.
Update & Wartung
Aktualisieren
Neue Versionen erscheinen automatisch unter Erweiterungen → Meine Erweiterungen. Klicke dort auf Update — Shopware lädt die neue Version aus dem Store und installiert sie.
Danach einmal den Cache leeren:
bin/console cache:clear
Versionierung
Ab Version 1.0.0 folgt das Plugin Semantic Versioning: Breaking Changes erscheinen ausschließlich in Major-Releases, neue Features in Minor-Releases, Fehlerbehebungen in Patch-Releases.
Deinstallation
- Im Admin öffnen: Erweiterungen → Meine Erweiterungen
- Novastrix Varianten-Anzeige finden und Deaktivieren
- Anschließend Deinstallieren anklicken
Was passiert mit deinen Daten?
Bei der Deinstallation fragt Shopware, ob User-Daten erhalten bleiben sollen:
- User-Daten behalten: Alle Config-Werte in
system_config(NovastrixVariantDisplay.config.*) bleiben erhalten. Bei einer Neuinstallation stehen deine Farbeinstellungen wieder zur Verfügung. - User-Daten löschen: Alle Config-Werte werden unwiderruflich aus
system_configentfernt.
Das Plugin erstellt keine Custom Fields oder Custom Entities — der Storefront ändert sich nach Deinstallation automatisch zurück zum Shopware-Standard-Verhalten.
Changelog
Version 1.0.0 — 18.05.2026
Erstes öffentliches Release.
Konfigurator-Farbkodierung:
- 3-Zustand-System für jede Option im Varianten-Konfigurator: Grün (direkt verfügbar), Amber (in anderer Konfiguration verfügbar, klickbar), Blau (aktuelle Auswahl)
- Eigenes Styling für jede Darstellungsform: Text, Farbmuster, Bild-Thumbnails, Dropdown-Select
- Status-Badge (Punkt / Haken) pro Option als farbblinden-freundliches Zweitsignal
- Hover-Tooltip auf Amber-Optionen mit Hinweis, dass beim Klick die Konfiguration springt
- Optionale Verfügbarkeits-Legende unter dem Konfigurator (ein-/ausblendbar)
- Automatisches Ausblenden von Gruppen, die nur noch eine Option enthalten
- Mindest-Eigenschaftsgruppen-Schwelle (Standard
3) — Produkte mit weniger Gruppen behalten Shopwares Standard-Darstellung
Lagerbestand & Lieferbarkeit:
- Per-Option Lieferbar / Nicht lieferbar-Badge zusätzlich zur Farbkodierung
- Getrennte Schalter je Zustand (aktuelle Auswahl, verfügbar, andere Konfiguration)
- Badge-Texte und Hintergrundfarben überschreibbar
-
- Visual-Zustand Amber-Grau für Optionen, deren Kombinationen alle ausverkauft sind: gedimmt, gestrichelt, eigener Legendeneintrag und Tooltip. Bleibt klickbar — Kunde landet auf der Variante, sieht aber sofort die Sackgasse
- Schalter "Grüner Status bei nicht lieferbaren Varianten" (
stockAgnosticCombinable, Standard: ein): hält die 3-Zustand-Ansicht stabil, auch wenn die aktuelle Variante Lagerbestand 0 hat. Pro Verkaufskanal abschaltbar
Sortierung:
- Schalter "Reihenfolge nach Eigenschaften-Katalog (Position) erzwingen" (
sortByCatalogPosition, Standard: ein): Gruppen und Optionen werden strikt nach der globalen Position im Eigenschaften-Katalog (Kataloge → Eigenschaften → Position) sortiert. Eine Änderung im Katalog ordnet alle betroffenen Produkte um
Suche-Sichtbarkeit:
- Schalter "Varianten einzeln in der Suche anzeigen" — jede Variante erscheint als eigenes Suchergebnis statt gruppiert
- Schalter "Elternprodukte in der Suche anzeigen" — Eltern erscheinen zusätzlich zu ihren Varianten
- Wirkt nur in Suche und Vorschlägen, Kategorie-Listings bleiben unverändert
Automatische Eltern-Aggregation (optional, alle 15 Minuten):
- Opt-in Hintergrund-Job setzt pro Vater-Artikel den Bestand auf die Summe aller Varianten-Bestände und übernimmt den günstigsten Brutto-/Netto-Preis pro Währung aus den Varianten
- Storefront-Listings zeigen damit immer den realen Gesamtbestand und den niedrigsten verfügbaren Preis — kein manuelles Pflegen des Vater-Artikels nötig
- Währungen werden unabhängig aggregiert. Varianten ohne eigenen Preis (geerbt) werden bei der Preis-Aggregation übersprungen
- Standard aus, damit Bestands-Shops nicht unerwartet überschrieben werden. Schalter: "Eltern-Preis & -Bestand aus Varianten aggregieren (alle 15 Minuten)" (
enableParentAggregation)
Konfiguration:
- Alle 16 Farbvariablen (Grün-/Amber-/Blau-Zustände, Gruppen-Karten, Legende) im Plugin-Admin konfigurierbar
- Alle Legenden- und Tooltip-Texte im Admin überschreibbar, fallen auf Snippet-Übersetzungen zurück
- Farbänderungen greifen ohne Theme-Recompile — ein Cache-Clear reicht
- Jeder Farbwert wird serverseitig validiert (nur Hex,
rgb()/rgba(),hsl()/hsla()und CSS-Farbschlüsselwörter zugelassen) - Vollständige Deutsch- und Englisch-Snippets
Kompatibilität:
- Shopware 6.6 und 6.7
- Keine zusätzlichen Datenbank-Abfragen auf der Produktseite — das Plugin nutzt von Shopware bereits geladene Daten
- HTTP-Cache-kompatibel (keine kundenspezifischen Inhalte)
Support & Kontakt
Fragen oder Probleme, die dir FAQ und Troubleshooting nicht beantworten?