PIM für Shopware 6 — Handbuch
Diese Seite bündelt alle Funktionen des PIM-Plugins für Shopware 6 auf einen Blick. Sie ist als kompakte Referenz gedacht — für ausführliche Anleitungen mit Screenshots verweisen wir auf die detaillierten Doku-Seiten zu den einzelnen Bereichen.
Das PIM-Plugin ist kompatibel mit Shopware 6.5, 6.6 und 6.7. Alle hier beschriebenen Funktionen stehen in allen drei Versionen identisch zur Verfügung.
Systemvoraussetzungen
Das PIM-Plugin läuft in jeder Standard-Installation von Shopware 6 ohne zusätzliche Server-Konfiguration.
- Shopware: 6.5, 6.6 oder 6.7
- PHP: 8.2 oder neuer
- Datenbank: MySQL 8 oder MariaDB 10.11
- Speicher: Standard-Empfehlung von Shopware reicht (256 MB+)
- Berechtigungen: Shopware-Admin-Zugang als Administrator-Rolle
Installation
Die Installation erfolgt über den Shopware Store oder per manuellem Upload.
Über den Shopware Store
- Im Shopware-Admin unter Erweiterungen → Store nach „PIM für Shopware" suchen.
- Plugin laden — es erscheint danach unter Erweiterungen → Meine Erweiterungen.
- Mit Klick auf Installieren installieren, anschließend Aktivieren.
Manuelle Installation
- ZIP-Datei aus dem Shopware Store herunterladen.
- Im Shopware-Admin unter Erweiterungen → Meine Erweiterungen die ZIP-Datei hochladen.
- Installieren und aktivieren wie oben.
Plugin aktivieren
Nach der Installation muss das Plugin aktiviert werden. Beim Aktivieren werden folgende Vorgänge ausgeführt:
- Anlage der Plugin-Konfigurationseinträge in der Datenbank
- Registrierung der ACL-Berechtigungen
- Registrierung der Menüpunkte in der Shopware-Admin-Sidebar
- Aufbau der initialen Konfigmatrix mit Defaults
PIM aufrufen
Nach der Aktivierung erscheint der Menüpunkt PIM in der Shopware-Admin-Sidebar. Beim ersten Aufruf wird das Listing aller Produkte geladen (sichtbar gemäß Sales-Channel-Berechtigungen des angemeldeten Users).
Konfigmatrix
Die Konfigmatrix ist das zentrale Steuerungselement des Plugins. Sie liegt unter Einstellungen → System → PIM-Konfiguration und steuert:
- Sichtbare Felder im Listing
- Editierbare Felder in der Mehrfachänderung
- Aktive Sprachen
- Default-Muster für Varianten-Generator
- KI-Anbieter-Konfiguration
- Export-Einstellungen für CSV
- Sichtbare Felder im Quickview-Modal
Änderungen in der Konfigmatrix wirken sich sofort auf alle Nutzer aus, ohne dass diese den Browser neu laden müssen.
Sektionsreihenfolge per Drag-and-Drop
Die Reihenfolge der Sektionen in der Produkt-Detailansicht (Stammdaten, Preise, Medien, SEO, Properties, Cross-Selling, …) lässt sich per Drag-and-Drop frei festlegen. Dasselbe gilt für die Sektionen im Varianten-Detail-Modal — beide werden in eigenen Tabs der Konfigmatrix konfiguriert.
Sektionen, in denen alle Felder deaktiviert sind, werden automatisch ausgeblendet — kein leerer Akkordeon-Header mit nichts dahinter.
Brutto-/Netto-Toggles für alle Preisarten
Alle vier Preisarten lassen sich in der Konfigmatrix unabhängig für Brutto und Netto ein- und ausblenden — sowohl für Hauptartikel als auch für Varianten:
- Verkaufspreis brutto / Verkaufspreis netto
- Einkaufspreis brutto / Einkaufspreis netto
- Streichpreis / UVP brutto / netto
- Günstigster Preis 30 Tage (Omnibus) brutto / netto
Damit ist eine reine Brutto-Pflege, reine Netto-Pflege oder gemischte Anzeige möglich — passend zur Standard-Steuerlogik des Shops oder zur Vorliebe des Pflegers. Bestehende User-Konfigurationen mit den alten Einzel-Toggles bleiben über Fallback-Logik gültig — keine Migration nötig.
SEO-URL-Generator mit Pattern pro Shop
Im SEO-URL-Tab der Konfigmatrix definierst du das URL-Muster für die automatische Generierung der SEO-URLs. Verfügbare Variablen werden als anklickbare Chips angezeigt: {name}, {productNumber}, {manufacturer}, {category}, {mainCategory}, {options}, {ean}, sowie Custom-Field-Variablen.
Eigenes Pattern pro Shop
Neue Toggle-Option „Eigenes Pattern pro Shop". Aktiviert sich der Toggle, erscheint ein durchsuchbares Shop-Dropdown (mit der gleichen CI wie überall im PIM). Pro Verkaufskanal lässt sich ein abweichendes URL-Pattern festlegen:
- Shops mit eigenem Pattern → nutzen ihr individuelles Pattern bei der Generierung
- Shops ohne eigenes Pattern → verwenden weiterhin das Standard-Pattern (als Placeholder im Eingabefeld sichtbar)
- Die Variablen-Chips fügen die Variable in das gerade fokussierte Feld ein — egal ob Standard oder Shop-spezifisch
- Die Live-Vorschau zeigt das Pattern des gerade bearbeiteten Shops
Generator verarbeitet auch Varianten
Der SEO-URL-Generator schrieb bisher nur für Stammartikel (Filter parentId = null) eine SEO-URL. Jetzt werden auch Varianten verarbeitet:
- Geerbte Felder (Name, Hersteller, Kategorien, Hauptkategorie inkl. sales-channel-spezifischer) werden aus dem Eltern-Produkt aufgelöst
- Variantenspezifische Werte wie
{options}bleiben die der Variante - Pro Variante wird eine eigene SEO-URL pro Verkaufskanal generiert
Standard-Steuersatz für neue Produkte
Beim Anlegen eines neuen Produkts wird automatisch der erste Steuersatz aus dem Shopware-System vorausgewählt (sortiert nach position ASC). Sowohl taxId als auch taxRate werden gesetzt, sodass die Brutto/Netto-Berechnung sofort funktioniert.
Validation-Modal mit Scroll-to-Section
Klick auf Speichern während Pflichtfelder leer sind: statt einer Warn-Banner-Wand öffnet sich ein Modal mit allen Fehlern. Klick auf einen Fehler springt direkt zur betroffenen Sektion — sie wird aufgeklappt, das Feld wird mit einer indigo Outline für rund 2,5 Sekunden hervorgehoben.
Berechtigungen
Das Plugin nutzt das Standard-ACL-System von Shopware. Folgende Berechtigungen werden registriert:
staw_pim.viewer— PIM aufrufen und Listing anzeigen (lesend)staw_pim.editor— Inline-Bearbeitung und Mehrfachänderungstaw_pim.csv_export— CSV-Export-Funktionstaw_pim.csv_import— CSV-Import-Funktionstaw_pim.variant_generator— Varianten-Generatorstaw_pim.ai_textgen— KI-Textgenerierungstaw_pim.config— Konfigmatrix bearbeiten
staw_pim.csv_import hat.Sprachen
Das PIM unterstützt alle in Shopware angelegten Sprachen. Sichtbar und editierbar werden Sprachen, die in der Konfigmatrix als aktiv markiert sind. Pro Sprache wird ein eigener Tab im Detail-Editor angeboten.
Aufbau des Listings
Das zentrale Produktlisting ist die Hauptansicht des PIM mit folgenden Elementen:
- Filter-Bar oben — beliebig viele Filter-Bedingungen mit UND/ODER-Verknüpfung
- Spalten-Header — sortierbar, breitenanpassbar, ein-/ausblendbar
- Datenzeilen — pro Produkt eine Zeile, mit Variantenartikel-Aufklappen on-demand
- Footer-Toolbar — Auswahl-Anzahl, Bulk-Aktionen, Export/Import-Buttons
- Bottom-Save-Bar — erscheint bei aktiven Inline-Änderungen mit Speichern/Verwerfen
Filter mit UND/ODER
Filter-Bedingungen können beliebig kombiniert werden:
- 9 Vergleichsmodi pro Feld: enthält, enthält nicht, ist gleich, ist nicht gleich, beginnt mit, endet mit, ist leer, ist nicht leer, ist in Liste
- UND/ODER-Logik zwischen Filter-Bedingungen — auch verschachtelt
- Variantenartikel-aware — Filter berücksichtigen Hauptartikel und Varianten
- Verfügbar für alle Felder inkl. Custom Fields und mehrsprachiger Felder
Spalten konfigurieren
Sichtbare Spalten lassen sich pro User individuell konfigurieren — Hinzufügen über Plus-Icon oben rechts, Reihenfolge per Drag-and-Drop, Breite per Drag am Spalten-Rand, Sortierung per Klick auf den Spaltenkopf. Alle Einstellungen werden pro User gespeichert.
Filter- und Spalten-Presets
Häufig genutzte Konfigurationen können als Preset gespeichert werden — eigene, geteilte und System-Presets.
Inline-Bearbeitung
Direkt im Listing können Felder per Klick editiert werden. Bestand, Preis, EAN, Herstellernummer, Gewicht sowie der Aktiv-Toggle sind inline editierbar — auch für Varianten. Nach dem Speichern wird der Wert verifiziert (Read-back). Wenn Shopware den Wert verwirft — z.B. wegen Vererbungslogik bei Varianten — erscheint ein Warnhinweis statt fälschlich Erfolg.
Unterstützte Eingaben: Text-Felder, Zahlenfelder mit Locale-bewusster Trennung, Toggle-Slider, Dropdown mit Suche, Multi-Select-Chips, native Date-Picker.
Tastenkürzel: Enter bestätigt, Esc bricht ab, Tab springt zum nächsten Feld.
Quickview-Modal
Direkt aus dem Listing kann pro Produkt ein Quickview-Modal geöffnet werden — über das Quickview-Icon in der Zeile. Es zeigt die wichtigsten Stammdaten kompakt zur direkten Bearbeitung, ohne Wechsel in die volle Detailansicht.
Inhalte des Modals:
- Artikel-Basisdaten: Artikelnummer, Name, EAN, MPN, Aktiv-Status
- Preise: Brutto/Netto, Einkaufspreis (brutto + netto), Omnibus-Preis (regulationPrice)
- Bestand & Versand: Bestand, Wiederauffüllzeit, Closeout-Toggle, Versandkostenfrei
- Bestellmengen: Min/Max/Schrittweite
- Beschreibung als Textarea
- SEO: Meta-Title, Meta-Description, Suchbegriffe
Header-Layout
Der Modal-Header zeigt den Variantennamen vorne (groß und dunkel), die Artikelnummer als sekundäre Information dahinter (klein, grau) — analog zur Stammartikel-Variantenmaske. So ist bei Variantenpflege auf den ersten Blick klar, welche Variante gerade bearbeitet wird.
Einheitliche Eingabefelder
Alle Eingabefelder im Quickview folgen der gleichen Struktur: Label oben, Eingabefeld darunter (42 px Höhe) — konsistent zum Rest des Plugins. Das gilt für Text-Felder, Zahlen-Felder, Selects und Toggles.
Alles ausklappen / Alles einklappen
Im Modal-Header gibt es einen Button Alles ausklappen bzw. Alles einklappen — analog zur Detailansicht der Stammdaten. Damit lassen sich alle Akkordeons in einem Schritt öffnen oder schließen.
Welche Felder im Quickview sichtbar sind, steuerst du in der Konfigurationsmatrix unter „Quickview" — pro Sektion. Sektionen ohne aktivierte Felder werden automatisch ausgeblendet.
Variantenanzeige
Variantsartikel werden im Listing als Hauptartikel-Zeile dargestellt. Per Klick auf das Plus-Icon werden die Varianten inline darunter aufgeklappt, ohne Page-Wechsel.
Mehrfachänderung — Übersicht
Die Mehrfachänderung ermöglicht es, in einem Vorgang Felder bei beliebig vielen ausgewählten Produkten gleichzeitig zu ändern.
Ablauf
- Produkte im Listing auswählen
- Klick auf Mehrfachänderung in der Footer-Toolbar
- Dialog öffnet sich — Zielfelder wählen, neue Werte eingeben
- Live-Vorschau zeigt für jedes Produkt das Ergebnis
- Bestätigen — Operation läuft in zwei Phasen (Snapshot + Apply)
- Live-Progress-Anzeige mit Counter, Phase und ETA — jederzeit per Abbrechen stoppbar
Editierbare Felder
Per Mehrfachänderung können über 25 Felder gepflegt werden:
Stammdaten
- Name (pro Sprache), Beschreibung (pro Sprache)
- Meta-Title, Meta-Description, Keywords
- Hersteller, EAN, Artikelnummer
- Produkteinheit (Stück, Liter, Kilogramm, Meter, …) — als eigene Bulk-Aktion
Preise und Grundpreis
- Listenpreis und UVP, Staffelpreise (Bulk-Apply auf alle Staffeln)
- Einkaufspreis brutto + netto als zwei getrennte Aktionen — der jeweils andere Wert wird automatisch über die Steuerklasse des Produkts berechnet
- Streichpreis/UVP, Günstigster Preis 30 Tage (Omnibus)
- Grundpreis (eigene Bulk-Aktion): Inhaltsmenge und Grundpreiseinheit gleichzeitig
- Steuersatz neu zuweisen (Bruttopreis bleibt, Netto wird neu berechnet)
Bestand und Versand
- Bestand, Lieferzeit, Versandfrei-Flag, Gewicht, Höhe, Breite, Länge
Sales Channels und Kategorien
- Sales-Channel-Sichtbarkeit (mehrere parallel)
- Hauptkategorie, Zusatzkategorien
- Cross-Selling-Zuordnungen
Properties und Custom Fields
- Properties (zuweisen und entfernen)
- Custom Fields aller Typen, Tags
Vollständige Filter-Anzeige vor jeder Operation
Vor jeder Mehrfachänderung zeigt das PIM alle aktiven Filter aus dem ausgewählten Preset als lesbare Chips: Hersteller, Kategorien, Tags, Eigenschaften, Lagerbestand-Range, Preis-Range, Gewicht-Range, Datumsbereiche, Sichtbarkeit, Steuerklasse, Lieferzeit, dynamische Produktgruppen, Verkaufskanal, EAN-Status, Closeout, Versandfrei und SEO-Meta-Status. IDs werden in lesbare Klarnamen aufgelöst (z.B. Verkaufskanal-Name statt UUID). „Keine Filter aktiv" wird mit rotem Rahmen markiert — bewusste Warnung gegen versehentliche Bulk-Operationen.
Sprachauswahl bei übersetzbaren Feldern
Bei übersetzbaren Bulk-Feldern erscheint ein Sprachdropdown, sobald ein Wert eingetragen ist. Der Wert wird in der Standardsprache gesetzt und zusätzlich in jede gewählte Sprache geschrieben — eine Aktion, mehrere Sprachen.
Felder mit Sprachauswahl:
- SEO-Tab: Meta-Title, Meta-Description, SEO-URL
- Zusatzfelder (Custom Fields): alle Custom Fields, die in Shopware als übersetzbar markiert sind
- Versand-Tab: Verpackungseinheit (singular/plural) — das einzige sprachpflichtige Feld im Versand-Bereich
Felder bewusst ohne Sprachauswahl:
- Produkteinheit / Maßeinheit: ist nur eine Referenz auf eine Einheit (Stück, Liter, kg) — die Übersetzung hängt an der Einheit selbst, nicht am Produkt
- Sprachunabhängige Felder: Preis, Lagerbestand, EAN, Gewicht, Hersteller, Aktiv-Status, Maße, Lieferzeit — diese existieren nur einmal pro Produkt
Daten-Vererbung Parent → Varianten
Eine dedizierte Bulk-Aktion überträgt Felder vom Stammartikel auf alle seine Varianten — sinnvoll für Werte, die sich zwischen Varianten nicht unterscheiden:
- Beschreibung und Meta-Texte
- Staffelpreise auf alle Varianten anwenden
- Cross-Selling-Streams übertragen
- Bilder und Mediengalerie an Varianten weitergeben
- SEO-Felder (Title, Description, Keywords) übernehmen
Die Aktion ist sowohl per Bulk-Operation auf mehrere Stammartikel anwendbar als auch im Varianten-Tab eines einzelnen Produkts verfügbar.
Snapshot & Revert
Bei jeder Mehrfachänderung wird automatisch ein Snapshot der vorherigen Werte gespeichert. Snapshots bleiben 30 Tage erhalten. Übersicht aller Snapshots unter PIM → Snapshots. Revert pro Produkt einzeln möglich oder für die gesamte Operation.
Live-Vorschau
Vor dem Speichern zeigt eine Tabelle für jedes ausgewählte Produkt: aktuellen Wert, neuen Wert nach Operation, Diff-Markierung bei Text-Feldern, Hinweis bei nicht änderbaren Feldern.
CSV-Export
Der CSV-Export erzeugt eine Datei mit allen oder gefilterten Produkten. Konfigurierbar über die Konfigmatrix.
- Spalten beliebig auswählbar — Standard-Felder, Custom Fields (einzeln pro
cf_*-Spalte), Properties, Übersetzungen - Spalten-Trenner: Komma, Semikolon, Tab
- Dezimaltrennzeichen: Punkt oder Komma — pro Export überschreibbar
- Encoding: UTF-8 (mit BOM-Option für Excel)
- Filter berücksichtigen: Aktive Filter aus dem CSV-Modal werden angewandt
- Varianten-Export: pro Profil oder global aktivierbar
- Vorgefertigte Profile: Stammdaten, SEO, Bilder, Preise & Lager, Eigenschaften & Custom Fields, Cross-Selling, Übersetzungen
Spalte „Einheit (Name)"
Zusätzlich zur Einheit-ID (UUID) wird die Produkteinheit als Klarname exportiert (z.B. „Liter", „Kilogramm", „Stück"). Im Profil „Preise & Lager" ist der Klarname als Standard aktiviert.
CSV-Import
Der CSV-Import liest eine Datei und legt neue Produkte an oder aktualisiert bestehende. Match-Logik wählbar: per Artikelnummer (Standard), ID (UUID) oder EAN.
Auto-Erkennung „Einheit"
Der Importer erkennt sowohl „Einheit (Name)" als auch „Produkteinheit" als Spaltennamen automatisch und löst Klarnamen wie „Liter" oder „Kilogramm" in die korrekte Einheit-ID auf.
Automatische Lookups
Beim Import werden fehlende Entitäten automatisch erstellt: Hersteller, Tags, Kategorien, Steuerklassen, Lieferzeiten, Eigenschaften und Produkteinheiten. Bei Varianten werden Parent-IDs auch über Artikelnummer oder EAN aufgelöst — UUIDs sind nicht zwingend nötig.
staw_pim.csv_import.Datentyp-Erkennung
Der Importer erkennt Datentypen automatisch je Sprache und Spalte:
- Boolean: 1/0, true/false, ja/nein, aktiv/inaktiv
- Datum: ISO-Notation und deutsche Notation
- Zahl: Komma oder Punkt als Dezimaltrenner
- Array: Pipe-Separator (
|) bei Multi-Select-Custom-Fields - JSON: bei komplexen Feldern wie Übersetzungen
Importierbare und exportierbare Felder
Folgende Felder sind im CSV-Export und/oder -Import verfügbar.
Stammdaten
productNumber— Artikelnummer (Match-Schlüssel)name,description— pro Sprache (name_de-DE)ean,manufacturerNumber,manufacturertaxRate,active,markAsTopseller,isCloseout,shippingFree
Preise
price,price_net,listPrice,purchasePricetier_*— StaffelpreisepurchaseUnit,referenceUnitunitIdoderEinheit (Name)oderProdukteinheit
Bestand und Versand
stock,minPurchase,maxPurchase,purchaseStepsdeliveryTime,restockTimeweight,width,height,length
SEO
metaTitle,metaDescription,keywords,packUnit— pro Sprache
Kategorien und Sichtbarkeit
categories— Pipe-separiertvisibilities— pro Channel
Varianten
parentId(auch überparent_productNumber/parent_eanauflösbar)mainVariantId(auch über Artikelnummer/EAN)options,configuratorGroupConfig
Eigenschaften, Custom Fields, Bilder, Cross-Selling, Tags
properties— Pipe-separiert (z.B. „Material:Baumwolle|Farbe:Rot")cf_*— Custom Fields als einzelne Spalten, auch pro Sprachecf_*_de-DEcover,images— URL(s) der BildercrossSellings— Format „StreamName:productNumber1,..."tags— Pipe-separiert
Nur Export (nicht importierbar)
createdAt,updatedAt, Variantenanzahl,sales,ratingAverage,availableStock
Feed-Generator — automatische URL-Feeds
Über den Feeds-Tab stellst du automatisch aktualisierte URL-Feeds bereit — z.B. für Google Shopping, Preisvergleichsportale oder ERP-Anbindungen. Ein Feed liefert die Produktdaten unter einer eindeutigen URL mit Token-Authentifizierung.
Feed aus Vorlage oder Profil anlegen
Oben im Feeds-Tab gibt es den Selektor „Feed aus Vorlage / Profil anlegen". Damit aktivierst du in einem Klick einen neuen Feed:
- Built-in-Vorlage wählen — Stammdaten, Preise & Lager, SEO, Bilder, Varianten, Vollexport: Ein gespeichertes Export-Profil mit passender Feldauswahl wird automatisch erzeugt, der Feed aktiviert, ein Token generiert. Das aus der Vorlage angelegte Profil heißt z.B. „Stammdaten (Feed)".
- Bestehendes Profil wählen — Eigene Export-Profile (die du im Export-Tab gespeichert hast) lassen sich direkt als Feed aktivieren.
Akkordeon-Liste mit Status, Chips und Aktionen
Alle Feeds und alle eigenen Export-Profile erscheinen als kompakte Liste. Jede Zeile zeigt:
- Name · umbenennbar
- Status-Pille · „Feed aktiv" (grün) oder „kein Feed" (grau)
- Feed-URL-Vorschau · die tokenisierte URL bei aktiven Feeds
- Filtervorlage-Chip · die gewählte Filtervorlage oder „kein Filter"
- Produktanzahl-Chip · live ermittelt aus dem Katalog
- Stift-Symbol rechts (öffnet/schließt den Editor) und Papierkorb (löscht mit Sicherheitsabfrage)
Ein Klick auf die Zeile öffnet und schließt den Editor zuverlässig — ein Chevron rechts zeigt den Zustand und dreht sich beim Öffnen. Der Papierkorb-Button reagiert separat (verhindert versehentliches Auf-/Zuklappen).
Editor mit Umbenennen, Modus, Filtervorlage
Im aufgeklappten Editor stehen alle Konfigurations-Optionen pro Feed:
- Namensfeld — Feed umbenennen (Name muss eindeutig sein; Kollision wird abgelehnt)
- Aktivieren-Toggle — Feed online/offline schalten
- Modus — XML, CSV, TSV oder JSON
- Filtervorlage — Auswahl aus den gespeicherten Filtervorlagen
- Feed-URL — fertig zum Kopieren
- Token — anzeigen oder regenerieren
Filtervorlagen — was wird übernommen, was bewusst nicht
Statt einfacher Filter-Checkboxen wählst du im Feed eine gespeicherte Filtervorlage — die gleiche, die du auch im Listing oder bei der Mehrfachänderung nutzt.
Im Feed angewendet (serverseitig zuverlässig abbildbar): Aktiv-Status, Lagerbestand (Min/Max), Hersteller, Kategorie, Verkaufskanal.
Im Feed bewusst NICHT angewendet: Qualitäts- und Vollständigkeitskriterien (z.B. „Bilder fehlen", „Meta-Daten unvollständig", „ohne Beschreibung", „SEO-Score < X"). Diese Bewertungen werden im Listing live berechnet und sind im Feed-Kontext nicht zuverlässig serverseitig abbildbar.
Migration alter Feeds
Token und URL-Format
Jeder Feed bekommt einen eindeutigen Token. Die URL hat das Format:
https://dein-shop.de/staw-pim/feed/{token}.xmlhttps://dein-shop.de/staw-pim/feed/{token}.csvhttps://dein-shop.de/staw-pim/feed/{token}.json
Der Token-Regenerieren-Button erzeugt einen neuen Token — die alte URL wird damit ungültig. Sinnvoll, wenn ein Feed-Link öffentlich geleakt wurde.
Backend & Streaming-Performance
Der FeedExportService ist auf große Kataloge ausgelegt. Vier Performance-Layer arbeiten zusammen:
- DBAL-Streaming in 2.000er-Batches — Daten werden in Chunks per PHP-Generator (
yield) ausgegeben statt komplett im Speicher gehalten. Memory-Verbrauch ist unabhängig von der Katalog-Größe. - Keyset-Pagination über
product_number(eindeutige, indizierte Spalte) stattLIMIT/OFFSET— die Ausgabezeit bleibt linear, auch bei sehr großen Katalogen. - gzip-Komprimierung serverseitig per
gzencode(), wenn der ClientAccept-Encoding: gzipsendet. Feed-CSVs komprimieren ~80–90 % — drastisch kürzere Übertragung. - Datei-Modus für die größten Kataloge: ein Scheduled Task (alle 15 Min) schreibt die Datei atomar nach
var/staw-pim-feeds/via Flysystem. Beim Abruf wird die vorgenerierte Datei ausgeliefert — keine DB-Last bei jedem Poll.
Zusätzlich: @ini_set('memory_limit', '1024M') defensiv im Endpoint — auch breite Spaltenauswahlen mit dutzenden Custom Fields laufen sauber durch. Filterkriterien (Hersteller, Kategorie, Bestandsbereich) werden serverseitig im SQL angewendet (inkl. Varianten-Vererbung auf den Hauptartikel) — kein Daten-Roundtrip in die Vue-Schicht.
Varianten-Generator — Eigenschaftsauswahl
Der Varianten-Generator erzeugt aus Property-Kombinationen automatisch Varianten zu einem Hauptartikel. Visuelle Auswahl aller Properties mit Werten gruppiert (z.B. „Farbe → rot/blau/grün"). Live-Vorschau der Kombinationen unten.
Vereinheitlichte Suche
Eine einzige Suche oben durchsucht Eigenschaften und Optionen gleichzeitig. Tippst du „rot", bleiben alle Eigenschafts-Gruppen sichtbar, die irgendwo die Option „rot" haben — und in der rechten Spalte werden die Treffer hervorgehoben.
Muster für SKU und Name & Pattern-Akkordeons
Pro Variante können SKU und Name automatisch erzeugt werden anhand eines Musters.
Verfügbare Variablen
{base}— SKU des Hauptartikels{property:Farbe},{property:Größe}— Property-Werte{counter},{counter:03}— fortlaufende Nummer
Pattern-Akkordeons
Statt zwei nackter Inputs nebeneinander: zwei eigenständige Akkordeons — eines für die Artikelnummer, eines für den Variantennamen. Eingeklappt zeigen sie das aktuelle Pattern als Code-Chip rechts; aufgeklappt erscheint das Eingabefeld plus klickbare Variable-Chips. Ein Klick auf einen Chip fügt die Variable direkt ins aktive Pattern ein.
Variantenmatrix · Bulk-Preise und Bestand
Bei einem Variant-Produkt mit vielen Optionen ist die Preis- und Bestandspflege zeilenweise mühsam. Die Variantenmatrix legt alle Varianten in einer Tabelle übereinander: Eine Achse zeigt die erste Eigenschaft (z.B. Farbe), die andere die zweite (z.B. Größe). Pro Zelle stehen Preis und Bestand zum direkten Editieren.
- Inline-Edit für Preis, Bestand, EAN, MPN
- Spaltenkonfiguration: welche Werte angezeigt werden, ist umschaltbar
- Sortierung der Eigenschaften per Drag-and-Drop
- Optional: Werte aus dem Stammartikel auf alle leeren Zellen anwenden
Sicheres Löschen
Beim Löschen von Varianten prüft das Plugin auf offene Bestellungen.
- Modus „Sicher" (empfohlen): Varianten mit offenen Bestellungen werden nicht gelöscht, sondern deaktiviert.
- Modus „Vollständig": Varianten werden gelöscht, auch wenn Bestellungen vorliegen.
KI-Textgenerierung — Anbieter und Modelle
Das PIM integriert zwei KI-Anbieter direkt im Shopware-Admin. Beide haben jeweils eine eigene Sektion in der Konfigmatrix unter Übersetzungen:
- Anthropic Claude: Haiku 4.5, Sonnet 4.6, Opus 4.6 / 4.7
- OpenAI ChatGPT: GPT-4o Mini, GPT-4o, GPT-4.1 Mini, GPT-4.1
Sind beide Anbieter aktiviert, kann im KI-Generator-Modal pro Aufruf der gewünschte Anbieter und das Modell ausgewählt werden.
API-Key einrichten
- Unter console.anthropic.com (Claude) oder platform.openai.com (ChatGPT) einen API-Key erzeugen
- Im PIM unter Konfigmatrix → Übersetzungen den Key in der jeweiligen Anbieter-Sektion eintragen
- Mit dem „Verbindung testen"-Button prüfen
- Modell auswählen und Tonalität festlegen
- Mit „Bulk freischalten" aktivieren
Was kann generiert werden
- Beschreibung (HTML) mit Absatzstruktur
- Meta-Title (max 60 Zeichen)
- Meta-Description (max 155 Zeichen)
- Keywords (komma-separierte Liste)
Stilvorlagen
5 vordefinierte Tone-Templates: Professionell, locker-modern, Premium/Luxus, technisch, emotional.
Performance
- Browser-native Virtualisierung via
content-visibility: auto - Server-side Filtering — alle Filter in der DB
- Lazy-Loading der Varianten
- Bulk-Operations in Batches mit Progress
- Minified Bundle — ca. 23 % kleiner als unminified
- Sticky Header in der Konfigmatrix
Troubleshooting
Listing lädt nicht
Cache leeren, Browser-Konsole prüfen, PHP-Memory-Limit prüfen (512 MB empfohlen bei großen Katalogen).
CSV-Import bricht ab
Encoding (UTF-8), Trenner und PHP-Limits prüfen.
KI-Generierung schlägt fehl
API-Key testen unter Konfigmatrix → KI → Verbindung testen. Bei Anthropic: Guthaben aufladen. Bei OpenAI: Billing-Status prüfen.
Kontakt & Support
- Feature anfragen: über das Formular
- Häufige Fragen: FAQ
- E-Mail-Support: pim@stoneandwater.online
- Hersteller: Stone & Water — Schöppingen
Antwortzeit: in der Regel 1–2 Werktage.