Novastrix Varianten-Anzeige

Verbesserte farbliche Hervorhebung und UX für konfigurierbare Artikel mit vielen Eigenschaftsgruppen

Novastrix UG (haftungsbeschränkt)
Version 1.0.0
19 min Lesezeit
Storefront
proprietary
Shopware-Produktdetailseite mit 4-Zustand-Variantenauswahl und Lieferbar-Badges

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-combinable CSS-Klassen, die sonst nur aktiv sind wenn das ACCESSIBILITY_TWEAKS-Feature-Flag an ist.

Installation

  1. Im Admin unter Erweiterungen → Store nach "Novastrix Varianten-Anzeige" suchen und das Plugin laden
  2. 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.

Konfigurationsoberfläche (Gesamtübersicht)

Die Einstellungen sind in sieben Bereiche aufgeteilt:

Suche

Steuert wie Varianten und Elternprodukte in der Shop-Suche erscheinen. Kategorien sind davon nicht betroffen.

FeldTypBeschreibungStandardBeispiel
Varianten einzeln in der Suche anzeigenJa/NeinJede Variante erscheint als eigenes Suchergebnis statt gruppiertAusEin
Elternprodukte in der Suche anzeigenJa/NeinElternprodukte erscheinen zusätzlich zu Varianten. Setzt Verkaufskanal-Sichtbarkeit vorausAusAus

Allgemein

FeldTypBeschreibungStandardBeispiel
Min. Eigenschaftsgruppen für erweiterten ModusZahlStyling greift erst ab dieser Gruppenanzahl32
Verfügbarkeits-Legende anzeigenJa/NeinLegende unter dem Konfigurator zur FarbkodierungEinEin
Tooltips bei Amber-Optionen anzeigenJa/NeinHover-Tooltip bei "Andere Konfiguration"-OptionenEinEin
Gruppen mit nur 1 verbleibenden Option ausblendenJa/NeinEinzel-Optionen verstecken (Wert wird trotzdem übermittelt)AusEin
Grüner Status auch bei nicht lieferbaren VariantenJa/NeinHä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"EinEin
Reihenfolge nach Eigenschaften-Katalog (Position) erzwingenJa/NeinSortiert 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 ausEinEin

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.

FeldTypBeschreibungStandardBeispiel
Eltern-Preis & -Bestand aus Varianten aggregieren (alle 15 Minuten)Ja/NeinStartet den geplanten Aggregations-Job. Solange aus, passiert nichts — der Vater-Artikel bleibt unverändert, du pflegst Preis und Bestand wie gewohnt selbst.AusEin

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

FeldTypStandardBeispiel
HintergrundfarbeFarb-Hex#e8f5e9#e0f7fa
RahmenfarbeFarb-Hex#4caf50#00796b
TextfarbeFarb-Hex#2e7d32#004d40
Hover-HintergrundFarb-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.

FeldTypStandardBeispiel
HintergrundfarbeFarb-Hex#fff8e1#fef3c7
RahmenfarbeFarb-Hex#ffb300#f59e0b
TextfarbeFarb-Hex#f57f17#92400e
Hover-HintergrundFarb-Hex#ffecb3#fde68a
Eigenes Visual für ausverkaufte Amber-OptionenJa/NeinEinEin
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.

FeldTypStandardBeispiel
HintergrundfarbeFarb-Hex#1976d2dein Shop-Primary
RahmenfarbeFarb-Hex#1565c0dein 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.

FeldTypBeschreibungStandardBeispiel
Badge auf der aktuellen Auswahl anzeigenJa/NeinLieferbar-Status auf der blauen OptionEinEin
Badge auf direkt verfügbaren (grünen) Optionen anzeigenJa/NeinKlärt bei grünen Optionen, ob die Variante tatsächlich am Lager istEinEin
Badge auf Amber-Optionen (andere Konfiguration) anzeigenJa/NeinAmber trägt bereits Tooltip und Styling — Badge standardmäßig ausAusEin
Badge-Text: lieferbarTextFällt auf Snippet "Lieferbar" zurückleer"Auf Lager"
Badge-Text: nicht lieferbarTextFällt auf Snippet "Nicht lieferbar" zurückleer"Ausverkauft"
Badge-Hintergrund: lieferbarFarb-Hex#2e7d32dein Shop-Success-Ton
Badge-Hintergrund: nicht lieferbarFarb-Hex#b00020dein Shop-Error-Ton

Eigenschaftsgruppen-Karten

Rahmen und Hintergrund der einzelnen Gruppen-Container sowie der Legende.

FeldTypStandardBeispiel
Karten-HintergrundFarb-Hex#fafafa#ffffff
Karten-RahmenfarbeFarb-Hex#e3e3e3#e5e7eb
Karten-Hover-HintergrundFarb-Hex#f5f5f5#f9fafb
Gruppen-TitelfarbeFarb-Hex#555555#374151
Legenden-HintergrundFarb-Hex#f9f9f9#f3f4f6

Texte

Überschreibe die Standard-Texte der Legende und der Tooltips. Leer lassen, um die eingebauten Snippet-Übersetzungen (Deutsch/Englisch) zu nutzen.

FeldSnippet-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

Produktdetailseite mit Varianten-Selektor

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

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:

  1. Plugin installieren und aktivieren
  2. Schwellenwert in der Konfiguration auf 3 belassen (Standard)
  3. Optional: Legenden-Texte an deine Shop-Sprache anpassen
  4. 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:

  1. Schwellenwert auf 3 (oder niedriger) setzen
  2. Amber-Farbe auf eine warme Akzentfarbe deines Brandings stellen (z.B. #c2410c für erdiges Orange)
  3. 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:

  1. Option "Gruppen mit nur 1 verbleibenden Option ausblenden" aktivieren
  2. Der Kunde sieht nur Gruppen mit echter Auswahl
  3. 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:

  1. In der Konfiguration den Schalter "Eltern-Preis & -Bestand aus Varianten aggregieren (alle 15 Minuten)" im Bereich "Varianten-Aggregation" einschalten
  2. Speichern
  3. 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-combinable CSS-Klassen nur gesetzt, wenn das Feature-Flag ACCESSIBILITY_TWEAKS aktiv 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

  1. Im Admin öffnen: Erweiterungen → Meine Erweiterungen
  2. Novastrix Varianten-Anzeige finden und Deaktivieren
  3. 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_config entfernt.

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
    1. 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?

Kontaktformular

Fragen zum Plugin?

Wir helfen dir bei Installation, Konfiguration oder individueller Anpassung — direkt vom Entwickler-Team.