Häufige Fragen
Antworten auf die häufigsten Fragen zum PIM-Plugin für Shopware 6 - sortiert nach Themengebiet.
Allgemeines
Was ist das PIM für Shopware?
Das PIM (Product Information Management) ist ein Plugin für Shopware 6, das die Produktpflege drastisch beschleunigt - mit Mehrfachänderung von 25+ Feldern, mehrsprachigem CSV-Import, Varianten-Generator, KI-Textgenerierung mit ChatGPT, Claude, Mistral und Gemini. Alles direkt im Shopware-Admin, ohne ETL-Tool oder Drittsystem.
Mit welchen Shopware-Versionen ist es kompatibel?
Shopware 6.5, 6.6 und 6.7 - alle drei Versionen werden parallel gepflegt. Jede Funktion ist in allen drei Versionen identisch verfügbar.
Brauche ich einen externen Dienst dafür?
Nein. Das PIM läuft komplett auf deinem Shopware-Server. Keine Telemetrie, keine Datenübertragung an Stone & Water. Externe KI-Anbieter (ChatGPT/Claude/Mistral/Gemini/DeepL) werden nur kontaktiert, wenn du sie aktiv anstößt - und mit deinen eigenen API-Keys.
Wie installiere ich das Plugin?
Über den Shopware Store: Unter Erweiterungen → Store nach „PIM für Shopware" suchen, installieren, aktivieren. Oder manuell: ZIP herunterladen und unter Meine Erweiterungen hochladen.
Welche PHP-Version brauche ich?
PHP 8.2 oder neuer. Datenbank: MySQL 8 oder MariaDB 10.11. Memory: mindestens 256 MB, 512 MB empfohlen für große Kataloge.
Mehrfachänderung
Welche Felder kann ich bulk-bearbeiten?
Über 25 Felder: Stammdaten (Name, Beschreibung, Meta-Daten, EAN, Hersteller), Preise und Staffelpreise, Einkaufspreis brutto/netto getrennt, Streichpreis/UVP, Omnibus-Preis, Grundpreis, Produkteinheit, Bestand und Versand, Sales-Channel-Sichtbarkeit, Kategorien, Properties, Cross-Selling, Custom Fields aller Typen. Welche Felder verfügbar sind, steuerst du in der Konfigmatrix.
Wie funktioniert der Einkaufspreis brutto/netto?
In der Mehrfachänderung gibt es zwei getrennte Aktionen: „Einkaufspreis brutto setzen" und „Einkaufspreis netto setzen". Du gibst nur einen der beiden Werte an - der jeweils andere wird automatisch über die Steuerklasse des Produkts berechnet. Currency und Linked-Status bleiben erhalten.
Was passiert wenn ich versehentlich etwas Falsches setze?
Vor jeder Bulk-Operation wird automatisch ein Snapshot der vorherigen Werte gespeichert. Per Ein-Klick-Revert aus dem Audit-Log kannst du alles zurückrollen. Snapshots werden 30 Tage aufbewahrt.
Welche Filter werden vor der Mehrfachänderung angezeigt?
Alle aktiven Filter aus dem ausgewählten Preset werden als lesbare Chips dargestellt: Hersteller, Kategorien, Tags, Eigenschaften, Lagerbestand, Preis-Range, Gewicht-Range, Datumsbereiche, Sichtbarkeit, Steuerklasse, Lieferzeit, dynamische Produktgruppen, Verkaufskanal, EAN-Status, Closeout, Versandfrei und SEO-Meta-Status. IDs werden in Klarnamen aufgelöst (z.B. Verkaufskanal-Name statt UUID). „Keine Filter aktiv" wird mit rotem Rahmen als Warnung markiert.
Welche Felder unterstützen Sprachauswahl in der Mehrfachänderung?
Übersetzbare Bulk-Felder zeigen ein Sprachdropdown, sobald ein Wert eingetragen ist. Verfügbar bei: Meta-Title, Meta-Description, SEO-URL (SEO-Tab), übersetzbare Custom Fields (Zusatzfelder), und Verpackungseinheit (Versand-Tab). Der Wert wird in der Standardsprache gesetzt UND in jede gewählte Sprache geschrieben - eine Aktion, mehrere Sprachen gleichzeitig. Bewusst ohne Sprachauswahl: Produkteinheit/Maßeinheit (nur Referenz) und sprachunabhängige Felder (Preis, Lager, EAN, Gewicht, Hersteller, Status, Maße).
Was ist die Aktion „Auf Filter beschränken"?
Wenn du nach einem Variantenfeld filterst und bulk-änderst, will man normalerweise nur die filter-treffenden Varianten anfassen. Mit diesem Toggle bleibt der Parent unangetastet - die Bulk-Aktion folgt dem Filter exakt.
Kann ich mehrere Aktionen in einem Bulk-Lauf kombinieren?
Ja. In einem Vorgang kannst du z.B. Hersteller setzen + Steuersatz ändern + Sales-Channel-Sichtbarkeit + Produkteinheit gleichzeitig - alles in einem Lauf mit einem gemeinsamen Snapshot.
Wie viele Produkte kann ich gleichzeitig ändern?
Keine harte Obergrenze. Getestet mit 10.000 Produkten in einem Vorgang. Bei großen Mengen siehst du Live-Progress mit Counter, Phase (Snapshot/Apply) und ETA - jederzeit abbrechbar.
Was bedeutet „Daten-Vererbung Parent → Varianten"?
Eine dedizierte Bulk-Aktion, die Felder vom Stammartikel auf alle Varianten überträgt: Beschreibung, Staffelpreise, Cross-Selling, Bilder, SEO-Felder. Sinnvoll für Werte, die sich zwischen Varianten nicht unterscheiden.
Welche Felder sind nicht snapshot-fähig?
Drei Felder: SEO-URL (wird generiert, nicht reversibel), Staffelpreise → Varianten und Cross-Selling → Varianten. Bei diesen erscheint im Dialog eine Warnung.
CSV-Import & Export
Kann ich mehrere Sprachen in einer CSV-Datei haben?
Ja. Pro Sprache wird eine eigene Spalte angelegt - Muster name_de-DE, name_en-GB. Auch Custom Fields pro Sprache (cf_meinFeld_de-DE). Beim Import werden Sprach-Spalten automatisch erkannt, vorhandene Übersetzungen ergänzt (JSON-Merge), nicht überschrieben.
Wie funktionieren die Einkaufspreis-Spalten brutto und netto?
Zwei getrennte Spalten: purchasePrice_gross und purchasePrice_net. Beim Import sind alle Kombinationen möglich - nur brutto angeben (netto wird via Steuerklasse berechnet), nur netto angeben (brutto wird berechnet), beide angeben (1:1 übernommen), oder die alte Legacy-Spalte purchasePrice nutzen (rückwärtskompatibel). Der Importer erkennt auch deutsche und englische Schreibweisen automatisch: ek_brutto, einkaufspreis_netto, cost_gross/net.
Wie funktionieren die Einkaufspreis-Spalten brutto und netto?
Zwei getrennte Spalten: purchasePrice_gross und purchasePrice_net. Beim Import sind alle Kombinationen möglich - nur brutto angeben (netto wird via Steuerklasse berechnet), nur netto angeben (brutto wird berechnet), beide angeben (1:1 übernommen), oder die alte Legacy-Spalte purchasePrice nutzen (rückwärtskompatibel). Der Importer erkennt auch deutsche und englische Schreibweisen automatisch: ek_brutto, einkaufspreis_netto, cost_gross/net.
Wie werden Varianten exportiert?
Als eigene Zeilen. Der Varianten-Export ist pro Profil oder global in der Konfigmatrix aktivierbar. Parents und Varianten erscheinen mit klar identifizierbaren productNumber-Werten in derselben Datei.
Muss ich UUIDs für die Variant-Parents kennen?
Nein. Beim Import lassen sich parentId und mainVariantId auch über Artikelnummer oder EAN auflösen - UUIDs sind nicht zwingend nötig. Lookup-Cache verhindert doppelte Treffer.
Wie funktioniert die Spalte „Einheit (Name)"?
Statt einer kryptischen UUID exportiert das Plugin die Produkteinheit als Klarname („Liter", „Kilogramm", „Stück"). Beim Import wird der Name automatisch in die richtige Shopware-Einheits-ID aufgelöst - Excel-freundlich.
Werden Custom Fields beim Import zerstört?
Nein. Custom-Field-JSON wird gemerged, nicht überschrieben. Wenn nur eine Spalte cf_xy in deiner CSV steht, werden andere Custom-Field-Einträge des Produkts nicht angerührt.
Wie viele Produkte kann ich pro Import verarbeiten?
Bis 10.000 Produkte sind getestet - auch in wenigen Minuten. Alles läuft über die Shopware-Sync-API in Batches mit Progress-Bar und ETA.
Kann der CSV-Import abgebrochen werden?
Ja. Während des Imports siehst du Live-Progress mit Counter, Phasenanzeige und ETA - und einen Abbrechen-Button. Bereits importierte Produkte bleiben dann im Shop, der Rest wird übersprungen.
Wer darf importieren?
Der Import-Tab ist ausschließlich Superadmins zugänglich - zusätzlich zur Berechtigung staw_pim.csv_import. Nicht-Superadmins sehen den Tab nicht.
Varianten-Generator
Wie viele Varianten kann ich auf einmal erzeugen?
Praktisch unlimitiert. Getestet mit 100+ Varianten in einem Lauf in unter 10 Sekunden. Bei sehr vielen Optionen empfiehlt sich die Live-Vorschau, um die exakte Anzahl vorab zu prüfen.
Was ist die „vereinheitlichte Suche"?
Eine einzige Suche oben im Varianten-Generator durchsucht Eigenschaften und Optionen gleichzeitig. Tippst du „rot", bleiben alle Eigenschafts-Gruppen sichtbar, die irgendwo „rot" als Option haben, und die Treffer werden hervorgehoben.
Was sind „Pattern-Akkordeons"?
Artikelnummer- und Variantenname-Muster werden als getrennte Akkordeons angezeigt. Eingeklappt sehen sie aktuelle Pattern als Chip; aufgeklappt erscheint das Eingabefeld plus klickbare Variable-Chips. Klick auf einen Chip fügt die Variable direkt ein.
Was kann die Variantenmatrix?
Sie zeigt alle Varianten eines Produkts in einer Tabelle: eine Achse die erste Eigenschaft, die andere die zweite. Pro Zelle Preis und Bestand direkt editierbar. Spaltenkonfiguration umschaltbar, Eigenschafts-Sortierung per Drag-and-Drop.
Welche Variablen gibt es in Mustern?
{number}, {parentName}, {option1} bis {optionN}, {group1} bis {groupN}, {counter}, {counter:03} (mit führenden Nullen).
Was passiert wenn ich Varianten lösche?
Im Modus „Sicher" (empfohlen) werden Varianten mit offenen Bestellungen nicht gelöscht, sondern deaktiviert. Daten bleiben für Buchhaltung erhalten. Im Modus „Vollständig" werden alle gelöscht - Vorsicht.
KI-Textgenerierung
Welche KI-Anbieter werden unterstützt?
Vier Anbieter, alle parallel nutzbar mit Provider-Auswahl pro Generierung: Anthropic Claude (Haiku 4.5, Sonnet 4.6, Opus 4.8, Fable 5), OpenAI ChatGPT (GPT-5.5, GPT-5.4, GPT-5 mini, GPT-5 nano, GPT-4.1 mini), Mistral AI (Large 3, Medium 3.5, Small 4) und Google Gemini (3.1 Pro, 3.5 Flash, 3.1 Flash-Lite). Zusätzlich DeepL für reine Übersetzungen.
Brauche ich eigene API-Keys?
Ja. Du erstellst die Keys beim jeweiligen Anbieter (console.anthropic.com, platform.openai.com, console.mistral.ai oder Google AI Studio) und trägst sie im PIM unter Konfigmatrix → Übersetzungen ein. Die Keys werden verschlüsselt in der Datenbank gespeichert und nur serverseitig verwendet - sie verlassen niemals den Browser.
Welche Texte kann die KI generieren?
Beschreibung (HTML), Meta-Title (max 60 Zeichen), Meta-Description (max 155 Zeichen) und Keywords (Komma-Liste). Einzeln oder zusammen, für ein Produkt oder per Mehrfachänderung für viele.
Wer zahlt für die KI-Nutzung?
Du, direkt beim Anbieter. Stone & Water erhebt keine zusätzlichen Kosten oder Margen. Das Plugin proxyt nur die Calls.
Wie kontrolliere ich die Kosten?
Pro Aufruf zeigt das PIM geschätzte Tokens und Kosten in € an. Konfigurierbare Bulk-Limits (z.B. „max 100 Produkte/Bulk-Aufruf"). Bei Überschreiten einer Schwelle (Standard: 5 €) erscheint ein Bestätigungs-Dialog.
Kann ich mehrere KI-Anbieter parallel nutzen?
Ja. Sind mehrere Anbieter aktiv, wählst du im Generator-Modal pro Aufruf den passenden - Claude für anspruchsvolle Beschreibungen, ein Flash-Modell für schnelle Meta-Daten zum Beispiel.
Was sind die fünf Stilvorlagen?
Professionell (sachlich), Locker-modern (jüngerer Ton), Premium/Luxus (sensorisch), Technisch (Fachterminologie), Emotional (Storytelling). Standard pro Shop in der Konfigmatrix setzbar, Override pro Operation.
Konfiguration & UX
Was steckt in der „Konfigmatrix"?
Die zentrale Steuerung des Plugins. Sieben Tabs für: sichtbare Listing-Spalten, editierbare Bulk-Felder, aktive Sprachen, Varianten-Default-Muster, KI-Anbieter-Konfiguration, CSV-Export-Einstellungen, sichtbare Quickview-Felder.
Was ist die Sektionsreihenfolge per Drag-and-Drop?
Die Reihenfolge der Sektionen in der Produkt-Detailansicht (Stammdaten, Preise, Medien, SEO, …) und im Varianten-Modal lässt sich per Drag-and-Drop frei festlegen. Sektionen ohne aktivierte Felder werden automatisch ausgeblendet.
Was bedeutet „Eigenes SEO-URL-Pattern pro Shop"?
Beide SEO-Generatoren unterstützen Pro-Verkaufskanal-Patterns: Schritt 1 ein eigenes Token-Pattern, Schritt 2 ein eigenes Twig-Pattern. Shop-Patterns sind eine Liste mit Stift (bearbeiten) und Papierkorb (entfernen). Shops ohne eigenes Pattern verwenden das Standard-Pattern. Details in der FAQ-Sektion „SEO-URL-System".
Werden auch SEO-URLs für Varianten erzeugt?
Ja, beide Generatoren verarbeiten Parent und Varianten. Geerbte Felder werden aus dem Eltern-Produkt aufgelöst (inkl. übersetzter customFields mit Vererbung). Die Tokens {options}, {properties} und {tags} liefern sprachübersetzte Werte - Pattern wie {mainCategoryPath}/{name}-{options} erzeugen pro Variante eindeutige URLs.
Wie lade ich Bilder hoch?
Per Drag & Drop: In den Stammdaten und in der Varianten-Ansicht gibt es in der Bilder-Sektion eine Drop-Zone (unterhalb der Bilder). Dateien ablegen oder klicken für den Datei-Dialog - Uploads landen in der Shopware-Mediathek (Produkt-Ordner) und werden sofort zugeordnet, mit Fortschrittsanzeige. Das erste Bild wird automatisch Titelbild, falls keins gesetzt ist.
Wie funktionieren Varianten-Bilder beim Upload?
Ein auf eine Variante hochgeladenes Bild wird zum eigenen Bild der Variante und überschreibt das geerbte. Entfernt man das eigene Bild, werden wieder die Bilder des Hauptprodukts geerbt - beides bleibt jederzeit möglich.
Was ist der Status „In Bearbeitung"?
Ein Freigabe-Status, den Bearbeiter selbst setzen können - als Signal ans Team, dass gerade jemand am Produkt arbeitet. Parallel zu Freigeben/Ablehnen/Einreichen. Sichtbar als Badge + Button im Detail, als Filter und Indigo-Indikator in der Produktliste und in der Freigabe-Statistik.
Wie sehe ich, welche Kategorien zugewiesen sind?
Zugewiesene Kategorien werden als entfernbare Chips unter dem Kategoriebaum angezeigt (kleines × zum Entfernen) - auf einen Blick sichtbar, ohne im Baum suchen zu müssen.
Kann ich eigene Spalten in die Produktliste aufnehmen?
Ja. Über den Button „Eigene Spalte" in der Spalten-Konfiguration legst du eine Spalte mit eigenem Namen und Quellfeld an - entweder ein Stammdatenfeld (Erscheinungsdatum, Bestand, Maße, Datumsfelder, …) oder ein beliebiges Zusatzfeld. Optional als sortierbar markierbar (Klick auf den Spaltenkopf). Werte werden automatisch formatiert (Datum deutsch, Ja/Nein bei Boolean). Neue Spalten lassen sich einordnen, entfernen und werden pro User persistent gespeichert.
Gibt es eine kompakte Variantenansicht in der Produktliste?
Ja. In der Konfigmatrix unter Allgemein → Produktliste lässt sich „Kompakte Variantenansicht" aktivieren. Varianten werden dann platzsparend dargestellt - ohne große Einrückung, ohne Vorschaubild und mit deutlich flacheren Zeilen; Name und Optionen bleiben erhalten. Nach dem Umstellen in der Konfigmatrix „Speichern" klicken.
Kann ich DATANORM-Dateien importieren?
Ja. Der Importer liest DATANORM 4.0 und 5.0 (automatische Versions-/Herstellererkennung über den V;-Header), akzeptiert beliebige Volume-Endungen von .001 bis .999 (z.B. DATANORM.500) und verarbeitet die Satzarten A (Artikel), B (Warengruppen), T (Langtext) und P (Preise/DATPREIS). Fehlende Entitäten werden wie beim CSV-Import automatisch angelegt.
Wo sind die Aktions-Buttons in der Produktliste?
Feed-Generator, CSV Import/Export und Produkt anlegen stehen in einer eigenen Zeile oberhalb der Suche - auf allen Viewport-Größen. Das Suchfeld behält seine volle Breite. Die Preis-Spalte ist per Klick auf die Kopfzeile sortierbar (serverseitig), und der Hersteller-Filter lädt alle Hersteller paginiert (kein 500er-Limit mehr).
Kann ich Kategorien direkt im PIM verwalten?
Ja. Der Button „Kategorien" (links neben dem Feed-Generator) öffnet ein Modal mit Kategorie-Baum je Verkaufskanal: anlegen, umbenennen, aktivieren/deaktivieren, löschen, per Drag & Drop verschieben. Name/Beschreibung/SEO werden je Sprache gepflegt (Beschreibung als WYSIWYG-Editor), dazu Typ, Layout (CMS-Erlebniswelt), externer Link, Hauptnavigations-Schalter und Zusatzfelder. Ein Button „KI-Texte" generiert Beschreibung/Meta/Keywords über alle vier Anbieter - optional für den gesamten Unterbaum. Abgesichert über die Berechtigung „Kategorien verwalten". Alle Details in der Kategorien-Anleitung.
Kann ich Kategorien-Bilder, SEO-URLs und Produktzuordnungen pflegen?
Ja. Jede Kategorie hat ein Cover-Bild (Mediathek/Upload, mit Alt-Text), einen eigenen SEO-URL-Slug je Kanal/Sprache (alte URL bleibt als 301, neue wird Canonical und überlebt den Reindex) sowie eine Produktzuordnung über eine Dynamische Produktgruppe (Stream) oder ein StawPim-Preset-Filter. Dazu ein Vollständigkeits-Score (Beschreibung/Meta/Bild) im Baum und Bulk-Aktionen mit Snapshot/Verlauf.
Kann ich den kompletten Kategoriebaum exportieren und importieren?
Ja. Über „Import/Export" exportierst du den Baum des Kanals als mehrsprachige CSV (je übersetzbarem Feld eine Spalte pro Sprache im Format feld.locale, Zusatzfelder als cf.-Spalten) oder als vollständiges JSON-Backup. Der Import löst die Eltern über die Spalte parentPath auf, legt fehlende Kategorien an und aktualisiert bestehende - mit Vorschau, Validierung und CSV-Sicherung vor dem Import.
Muss ich das StawPim-SEO-System nutzen, oder geht auch die Shopware-Standard-URL?
Beides. In der Konfigmatrix gibt es die Option „Shopware Standard SEO-URL" (getrennt für Produktdetail, Varianten-Modal und Quickview). Aktiv zeigt das Feld die native Shopware-SEO-URL und ist direkt editierbar (schreibt per PATCH in seo_url, ohne Duplikate). Das StawPim-Canonical-System wird dann ausgeblendet. So kannst du wahlweise regelbasiert über die zwei Generatoren arbeiten oder die native URL einfach direkt im PIM bearbeiten.
Wie lege ich ein neues Produkt an?
Der Button „Produkt anlegen" öffnet ein geführtes Modal, das die Grundlagen abfragt: Name, Artikelnummer (aus dem Nummernkreis reserviert, editierbar) und Verkaufskanal-Sichtbarkeit. Preis (0), Standard-Steuersatz und Inaktiv-Status werden still als Defaults gesetzt; das Produkt wird vollständig angelegt und direkt geöffnet. So entstehen keine unsichtbaren, kategorielosen Karteileichen mehr - Kategorien und Preis pflegst du auf der Detailseite.
Wo finde ich das Erscheinungsdatum?
Auf der Detailseite im Abschnitt „Lieferbarkeit" (früher unter „Sichtbarkeit"). Es heißt jetzt überall einheitlich „Erscheinungsdatum" (Shopwares releaseDate) - statt des früheren Mix aus „Erscheinungsdatum", „Freigabedatum" und „Veröffentlichungsdatum". Pro Variante setzbar in der Schnellpflege und im Varianten-Detail-Modal (leer erbt vom Hauptartikel). Das frühere separate Feld „Verfügbar ab" gibt es nicht mehr; beim CSV-Import wird eine alte availableAt-Spalte aber weiterhin auf das Erscheinungsdatum gemappt, falls dieses leer ist.
Kann ich den Meta-Title automatisch generieren?
Ja. Neben dem Feld-Pattern (Schritt 1 der SEO-Generierung) lässt sich ein Meta-Title-Pattern konfigurieren. Es wird in Klartext aufgelöst (keine Slugifizierung - Umlaute und Groß-/Kleinschreibung bleiben) und pro Sprache in den Produkt-Meta-Title geschrieben; berücksichtigt „nur leere" und kürzt bei 255 Zeichen. Umgekehrt steht der gepflegte Meta-Title als Token {metaTitle} auch als Quelle im Feld-Pattern und in den KI-Templates zur Verfügung.
Wie funktioniert der Standard-Steuersatz?
Beim Anlegen eines neuen Produkts wird automatisch der erste Steuersatz aus dem System vorausgewählt (sortiert nach position ASC). Brutto/Netto-Berechnung funktioniert sofort, ohne Klick.
Was bewirkt das Validation-Modal?
Speichern bei leeren Pflichtfeldern: statt einer Warn-Banner-Wand öffnet sich ein Modal mit allen Fehlern. Klick auf einen Fehler springt direkt zur Sektion - sie wird aufgeklappt, das Feld wird mit indigo Outline hervorgehoben.
Was tut das Quickview-Modal?
Ein kompaktes Modal direkt aus dem Listing - zeigt Stammdaten, Preise (Brutto/Netto inkl. Einkaufspreis brutto+netto getrennt), Bestand, SEO und Beschreibung zum direkten Editieren. Der Modal-Header zeigt den Variantennamen groß vorne und die Artikelnummer dahinter - analog zur Stammartikel-Variantenmaske. Alle Eingabefelder einheitlich mit 42 px Höhe. „Alles ausklappen / einklappen"-Button im Header. Sektionen sind konfigurierbar und werden ohne aktivierte Felder automatisch ausgeblendet.
Was kann ich inline im Listing bearbeiten?
Bestand, Preis, EAN, Herstellernummer, Gewicht und Aktiv-Toggle direkt in der Zeile - auch für Varianten. Nach dem Speichern wird der Wert verifiziert; wenn Shopware ihn verwirft, erscheint ein Warnhinweis statt fälschlich Erfolg.
Feed-Generator
Was ist ein Feed und wofür brauche ich das?
Ein Feed liefert deine Produktdaten unter einer eindeutigen, tokenisierten URL aus - automatisch aktualisiert, ohne manuellen Export. Typische Empfänger: Google Shopping, idealo, Billiger.de, ERP-Systeme oder Auswertungs-Pipelines.
Wie lege ich einen Feed an?
Oben im Feeds-Tab gibt es den Selektor „Feed aus Vorlage / Profil anlegen". Du wählst entweder eine Built-in-Vorlage (Stammdaten, Preise & Lager, SEO, Bilder, Varianten, Vollexport) oder ein eigenes gespeichertes Export-Profil. Ein Klick → Profil wird angelegt, Feed aktiviert, Token generiert, URL ist sofort abrufbar.
Wie sieht die Feed-Liste aus?
Alle Feeds als kompakte Akkordeon-Liste. Pro Zeile siehst du: Name, Status-Pille („Feed aktiv"/„kein Feed"), Feed-URL-Vorschau, Filtervorlage-Chip, Produktanzahl-Chip (live aus dem Katalog), Stift-Symbol zum Bearbeiten und Papierkorb-Symbol zum Löschen. Klick auf die Zeile öffnet und schließt den Editor zuverlässig (Chevron rechts dreht sich).
Kann ich einen Feed umbenennen?
Ja. Im aufgeklappten Editor gibt es ein Namensfeld. Der Name muss eindeutig sein - Kollisionen mit vorhandenen Feeds oder Built-in-Profilen werden abgelehnt. Aktives Profil, Anzahl-Chip und Editor-Zustand wandern automatisch auf den neuen Namen.
Wie lösche ich einen Feed?
Über das Papierkorb-Symbol rechts in der Zeile. Es kommt eine Sicherheitsabfrage. Der Lösch-Button reagiert separat vom Klick auf die Zeile - du klappst also nichts versehentlich auf, wenn du löschst.
Kann ich mehrere Feeds für dasselbe Profil anlegen?
Ja. Feeds sind über einen eigenen Storage-Key (exportFeeds) vom Quell-Profil entkoppelt. Du kannst beliebig viele Feeds für dasselbe Profil anlegen - z.B. ein „Stammdaten"-Profil als Basis für mehrere Feeds mit unterschiedlichen Filtervorlagen pro Verkaufskanal oder Zielmarkt.
Welche Filterkriterien werden im Feed angewendet?
Im Feed-Editor wählst du eine gespeicherte Filtervorlage. Übernommen werden die serverseitig zuverlässig abbildbaren Kriterien: Aktiv-Status, Lagerbestand, Hersteller, Kategorie, Verkaufskanal. Diese werden vom FeedExportService direkt im CSV/XML angewendet (inkl. Varianten-Vererbung auf den Hauptartikel).
Warum werden Qualitätskriterien im Feed nicht angewendet?
Qualitäts-/Vollständigkeitskriterien aus der Filtervorlage (z.B. „Bilder fehlen", „Meta-Daten unvollständig", „ohne Beschreibung", „SEO-Score < X") werden bewusst nicht angewendet - diese Bewertungen werden im Listing live berechnet und sind im Feed-Kontext nicht zuverlässig serverseitig abbildbar. Würde der Feed sie still anwenden, würde dein ERP eine verfälschte Produktmenge bekommen. Mit der klaren Trennung weißt du genau: Filtervorlage definiert welche Produkte, der Feed liefert diese Produkte.
Wie sehe ich die Produktanzahl pro Feed?
In jeder Feed-Zeile steht ein Produktanzahl-Chip. Dieser Wert wird live aus dem Katalog ermittelt (über die Filtervorlage-Kriterien) und aktualisiert sich, wenn du eine andere Filtervorlage wählst.
Was passiert mit meinen bisherigen Feeds beim Update?
Bestehende Feeds, die am Export-Profil hingen, werden beim ersten Laden automatisch in die neue Liste übernommen. Bestehende Feed-URLs in deinem ERP, Google-Shopping-Konto oder bei Preisvergleichsportalen bleiben gültig - kein Re-Konfigurieren nötig.
Welche Formate liefert ein Feed?
XML, CSV, TSV und JSON. URL-Format: https://dein-shop.de/staw-pim/feed/{token}.xml (entsprechend mit anderer Endung).
Wie ist die Sicherheit des Feeds?
Feed-URLs sind tokenisiert und nicht öffentlich indexierbar (kein Eintrag in der sitemap.xml, noindex-Header). Wer den Token nicht hat, sieht nichts. Der Token kann jederzeit per Klick regeneriert werden - die alte URL wird damit ungültig.
Wie performant ist der Feed bei großen Katalogen?
Sehr - der Feed ist gezielt für große Kataloge ausgelegt. Vier Performance-Layer arbeiten zusammen: (1) DBAL-Streaming in 2.000er-Batches (Daten werden per PHP-Generator zeilenweise ausgegeben, kein Komplett-Laden im Speicher). (2) Keyset-Pagination über die Artikelnummer statt LIMIT/OFFSET (bleibt linear schnell, auch auf tiefen Seiten). (3) gzip-Komprimierung mit ~80-90 % Reduktion bei Text-CSVs. (4) Datei-Modus mit vorgenerierter Datei alle 15 Min. Damit laufen auch Kataloge mit zehntausenden Produkten ohne Memory-Probleme durch.
Wird der Feed komprimiert ausgeliefert?
Ja, automatisch. Wenn der Client Accept-Encoding: gzip sendet (alle modernen ERP-/Crawler-/Browser-Clients tun das), wird die Antwort serverseitig per gzencode() komprimiert und mit Content-Encoding: gzip + Vary: Accept-Encoding ausgeliefert. Feed-CSVs komprimieren typisch um 80-90 % - eine 50 MB CSV wird zu ~5-10 MB übertragen. Der Client dekomprimiert transparent.
Was ist der Unterschied zwischen Modus „Live" und „Datei"?
Live bei Abruf: Feed wird bei jedem Aufruf direkt aus der Datenbank generiert. Immer tagesaktuell, geeignet für seltenes Polling oder kleinere Kataloge. Datei: Ein Scheduled Task generiert die Datei vorab (alle 15 Min, atomar geschrieben), und der Controller liefert die fertige Datei aus. Keine DB-Last, sehr schneller Response - ideal für ERPs, die alle paar Minuten pollen. Wenn die Cron-Datei noch nicht existiert, fällt der Controller automatisch auf Live-Generierung zurück.
Funktionieren Feeds auch im Wartungsmodus?
Ja. Die Storefront-Feed-Route setzt allow_maintenance, zusätzlich beantwortet ein früher Kernel-Subscriber Feed-Anfragen, bevor Shopwares Storefront-Maschinerie greift. Google Merchant und ERP-Polling laufen auch während Deployments und Wartungsfenstern weiter - statt eine Redirect-Seite zu bekommen.
Was ist die alternative API-Feed-URL?
Zusätzlich zur Storefront-URL gibt es die domain-unabhängige Route /api/staw-pim/export/<token>.csv (ohne Login). Nützlich, wenn die Storefront-URL umleitet - z.B. bei Sprachpfad-Domains oder Weiterleitungen. Die alternative URL wird in den Feed-Einstellungen angezeigt.
SEO-URL-System (2 Generatoren)
Wie funktioniert das Zwei-Generator-System?
Zwei Schritte mit einem Zusatzfeld als Brücke: Schritt 1 „URL im Zusatzfeld generieren" löst ein Token-Pattern (z.B. {mainCategoryPath}/{name}) variant- und sprachgenau auf und schreibt es in das Pro-Shop-Feld staw_pim_canonical_<shop>. Schritt 2 „SEO URLs generieren" setzt ein Twig-Pattern als Shopwares native SEO-Vorlage je Verkaufskanal und indexiert über Shopware neu - die URLs kommen aus dem Zusatzfeld und überstehen jede Neu-Indexierung.
Warum zwei Schritte statt direktem Schreiben?
Direkt geschriebene seo_url-Zeilen kann Shopwares eigener Indexer beim nächsten Lauf mit der Standard-URL überschreiben. Das Zwei-Schritt-System setzt das Pattern als Shopwares eigene Vorlage - Shopware erzeugt die URLs dann selbst aus dem Zusatzfeld, bei jedem Reindex aufs Neue. Die URLs sind damit dauerhaft stabil.
Was ist mit migrierten URLs aus einem Vorsystem?
Typisches Twig-Pattern: {% if staw_url_product_detail %}{{ staw_url_product_detail|raw }}{% else %}{{ product.customFields.staw_pim_canonical_shop|raw }}{% endif %} - migrierte Produkte behalten ihre bestehende URL aus dem Custom Field, neue Produkte nutzen das von Schritt 1 gefüllte Feld. Das migrierte Feld wird strikt in der aktuellen Sprache geprüft, ohne Übersetzungs-Vererbung.
Werden bestehende URLs überschrieben?
Nur wenn du es willst. Option „Nur fehlende SEO-URLs erzeugen" lässt bestehende unangetastet. Geänderte Pfade bleiben als 301-Weiterleitung erhalten (Option „Alte URLs als 301 behalten"). Für einen kompletten Neuaufbau gibt es „Alle Produkt-URLs entfernen (Reset)" - löscht alle URLs der gewählten Kanäle/Sprachen inkl. Shopwares globaler Detail-URLs und baut frisch auf.
Wie wähle ich Kanäle und Sprachen aus?
Im Modal sind die Kanäle nach Shop gruppiert - jede Kanal-Karte mit ihren Sprachen als Akkordeon darunter (initial zugeklappt, nichts vorausgewählt). Je Gruppe „Alle (ab)wählen" mit Zähler, plus globaler „Alle auswählen"-Button. Pro Kanal zeigen Badges die Produktanzahl (nur tatsächlich im Kanal sichtbare Produkte) und die Anzahl ohne SEO-URL.
Gibt es eine Vorschau und einen Probelauf?
Beides. Die Vorschau wählt Beispielprodukte, die im Kanal sichtbar sind und deren Pattern auflöst - bis zu drei echte Beispiel-URLs. Der Probelauf läuft den kompletten Prozess durch, ohne zu schreiben - mit farbcodierten Ergebniskarten: Neu = grün, Änderung = blau, Übersprungen = grau, Warnung = amber, Fehler = rot.
Was bedeutet „N ohne gerenderten Pfad" im Bericht?
Die Anzahl Produkte, deren Pattern nichts ausgibt - z.B. weil weder das Migrations-Feld noch das Canonical-Feld gefüllt ist. So ist sofort sichtbar, warum für diese Produkte nichts geschrieben wurde. Sicherheitsnetz: Liefert das Canonical-Feld bei der finalen Generierung ein leeres Ergebnis, fällt die URL auf den Produktnamen zurück statt einen leeren Pfad zu erzeugen.
Was passiert bei Pfad-Konflikten?
Pfade, die bereits belegt sind (auch von anderen Routen wie einer Kategorie mit gleichem Slug), werden sauber übersprungen und als „Pfad bereits anderweitig vergeben" gemeldet - kein Duplicate-Key-Abbruch. Konflikte werden mit Produktnummern statt internen IDs angezeigt. Wichtig: Die gleiche URL in verschiedenen Shops ist kein Konflikt - Eindeutigkeit gilt pro Shop + Sprache. Lösung: Pattern eindeutiger machen, z.B. {mainCategoryPath}/{name}-{options}.
Wie werden Varianten-URLs eindeutig?
Die Tokens {options}, {properties} und {tags} liefern die jeweiligen Werte je Sprache übersetzt. Ein Pattern wie {mainCategoryPath}/{name}-{options} erzeugt pro Variante und Sprache eine eindeutige URL. Varianten lösen ihr Pro-Kanal-Canonical-Feld inkl. Vererbung vom Elternprodukt auf.
Wie funktioniert der Sprach-Fallback?
Fallback-Kette: angefragte Sprache → Eltern-Sprache → System. Leere oder geerbte Übersetzungen werden übersprungen. Gilt für Token- und Twig-Generierung - eine englische URL bekommt keinen deutschen Produktnamen mehr, nur weil die englische Übersetzung leer war.
Was passiert mit Umlauten, Schrägstrichen und Punkten?
Umlaute und Sonderzeichen werden konvertiert (ä→ae, ß→ss, „&"/Leerzeichen → Trennzeichen) - auch in statischem Pattern-Text wie einem wörtlichen „für/". Schrägstriche und Punkte bleiben erhalten - Kategoriepfade mit „/" und .html-Suffixe laufen unverändert durch. Shopwares SEO-Escaper würde Schrägstriche normalerweise zu „-" slugifizieren - Pfad-Felder bekommen deshalb automatisch |raw injiziert. Vorschau und Server-Generierung verhalten sich identisch.
Kann ich Tokens und Twig im selben Pattern mischen?
Nein, der Editor warnt explizit davor - Shopware slugifiziert die Twig-Ausgabe und entfernt dabei die Token-Klammern. Empfehlung: entweder ein reines Twig-Pattern oder ein reines Token-Pattern. Der Editor hat einen Live-Twig-Syntax-Check: Ungültiges Twig wird rot gemeldet und Speichern ist gesperrt.
Kann jeder Shop ein eigenes Pattern haben?
Ja, für beide Generatoren: Schritt 1 kann ein eigenes Token-Pattern je Verkaufskanal erhalten, Schritt 2 ein eigenes Twig-Pattern. Shop-Patterns sind eine Liste - bearbeiten per Stift, entfernen per Papierkorb, „Pattern für Shop hinzufügen" öffnet das Editor-Modal. Shops ohne eigenes Pattern verwenden das Standard-Pattern.
Wie wird der Kategorie-Pfad aufgelöst?
{mainCategoryPath} nutzt die Hauptkategorie des jeweiligen Verkaufskanals. Ist keine gesetzt, bevorzugt der Fallback deterministisch die tiefste zugewiesene Kategorie (längster Pfad) statt einer beliebigen. Bei leerer category.path-Spalte (Indexer-Rückstand nach Importen) wird die Ahnenkette über parent_id rekonstruiert.
Ist die Generierung schnell genug für große Kataloge?
Ja. Kanal-Zählungen laufen über set-basierte Aggregat-Abfragen, Produktlisten über index-freundliche UNIONs statt OR-Self-Joins - die Dialoge öffnen ohne Wartezeit, die Generierung schreitet auch bei zehntausenden Produkten normal voran (chunked, ohne Timeout). Fortschrittsbalken mit Prozentanzeige.
Performance & Sicherheit
Funktioniert das PIM bei 50.000+ Produkten?
Ja. Browser-native Virtualisierung via content-visibility: auto sorgt für flüssiges Scrolling. Server-side Filtering, Lazy-Loading der Varianten, Bulk-Operations in Batches mit Progress.
Warum sind Mehrfachänderungen jetzt so viel schneller?
Drei Hebel: (1) Produkt-Schreibvorgänge nutzen Shopwares asynchrone Queue-Indexierung statt synchroner Indexierung im Request, (2) die Schreib-Batchgröße wurde von 10 auf 25 erhöht, (3) Freigabe- und Audit-Log-Requests werden gebündelt (ein Batch alle 600 ms bzw. ein Request pro 200 Produkte statt einem pro Produkt). Konfigurierbar über bulkIndexingBehavior (queue / disable / sync).
Indexiert der CSV-Import noch den ganzen Katalog neu?
Nein. Importe nutzen standardmäßig Queue-Indexierung - nur die importierten Produkte werden asynchron nachindexiert. Der frühere Komplett-Reindex nach jedem Import entfällt (läuft nur noch bei importIndexingMode = 'disable').
Wie diagnostiziere ich Probleme ohne Server-Log-Zugriff?
Das Plugin führt ein Sitzungs-Fehlerprotokoll: Die letzten 50 Fehler stehen in window._stawPimErrLog (Browser-Konsole). Bisher stille Fehlerpfade - Audit-Flush, Batch-Freigaben, Snapshot-Laden - protokollieren Fehlschläge jetzt. Ideal für Hosting ohne Log-Zugriff.
Werden meine Daten an Stone & Water gesendet?
Nein. Das Plugin läuft komplett auf deinem Shopware-Server. Keine Telemetrie. Audit-Log und Snapshots werden in deiner Shopware-Datenbank gespeichert.
Wer hat Zugriff auf was?
Sieben feingranulare ACL-Berechtigungen: viewer, editor, csv_export, csv_import, variant_generator, ai_textgen, config. Plus zusätzliche Superadmin-Beschränkung für den Import-Tab. Superadmin umgeht alle Gates.
Wie sicher sind meine API-Keys?
Verschlüsselt in der Datenbank gespeichert, nur serverseitig verwendet. Sie verlassen niemals den Browser. Bei einem Verbindungstest wird der Key serverseitig gegen den Anbieter geprüft.
Wo finde ich das Audit-Log?
Unter PIM → Audit-Log. Jede Bulk-Operation, jeder CSV-Import, jede Snapshot-Aktion mit User, Zeitstempel und Vorher/Nachher-Werten.
Lizenz, Update & Support
Wie wird das Plugin lizenziert?
Standardlizenz über den Shopware Store. Updates kommen ebenfalls über den Store automatisch zur Verfügung.
Werden Updates kostenlos sein?
Updates innerhalb der gleichen Major-Version sind kostenlos. Stone & Water erweitert das Plugin kontinuierlich um Funktionen, die aus echten Pflege-Workflows entstehen.
Wie lange dauert der Support-Antwort?
In der Regel 1-2 Werktage. Bei kritischen Bugs gibt es auch außerhalb eines Releases einen Hotfix.
Kann ich eigene Features vorschlagen?
Ja, gerne. Per Feature-Request-Formular. Die meisten konkreten Wünsche landen innerhalb weniger Wochen im Plugin.
Wo bekomme ich Hilfe?
E-Mail an pim@stoneandwater.online oder über das Kontaktformular. Bei Fragen zur Doku ergänzen wir gerne den entsprechenden Artikel.
Frage nicht dabei?
Schreib uns über das Kontaktformular oder direkt an pim@stoneandwater.online. Wir antworten in der Regel innerhalb von 1-2 Werktagen.