Kategorien-Verwaltung · Baum, SEO, Bilder & KI — alles in einem Modal
Den kompletten Kategoriebaum pflegen, ohne den Shopware-Standard zu verlassen: anlegen, verschieben, übersetzen, SEO-URLs setzen, Bilder zuweisen, Produkte zuordnen, KI-Texte generieren und den ganzen Baum als CSV oder JSON sichern — pro Verkaufskanal und Sprache.
Öffnen & Aufbau
Der Button „Kategorien" (links neben dem Feed-Generator in der Produktliste) öffnet das Modal. Die Verkaufskanal-/Sprach-Auswahl nutzt den Channel-Bar im Stammdaten-Stil (mit Icons und Feld-Rahmen). Pro Kanal wird der Baum ab der Navigations-Wurzel aufgebaut, die Einstiegskategorie steht oben. Geladen wird direkt über das category-Repository — kein separater API-Endpoint, keine eigene Seite. Abgesichert über die eigene Berechtigung „Kategorien verwalten".
Anlegen, bearbeiten, verschieben
- Neue Kategorie über den Button in der Leiste — schnell eine Wurzelkategorie im gewählten Kanal, oder als Unterkategorie. Neue Kategorien werden in der Systemsprache angelegt.
- Umbenennen, aktivieren/deaktivieren, löschen direkt im Baum bzw. Detailbereich. Die Lösch-Bestätigung ist ein Dialog im PIM-CI-Stil (kein Browser-Confirm).
- Drag & Drop: Kategorien unter einen anderen Übergeordneten ziehen.
- Duplizieren im Detail-Kopf — dupliziert die Kategorie inklusive aller Unterkategorien (Subtree) als Geschwister mit Namenszusatz „(Kopie)".
Felder je Sprache, Typ & Layout
Name, Beschreibung und SEO-Felder werden pro Sprache gepflegt; ein Sprachwechsel lädt Baum und Detail neu, sodass übersetzte Felder erscheinen. Die Beschreibung ist ein WYSIWYG-Editor (sw-text-editor) mit sichtbarer HTML-Formatierung. Dazu:
- Typ & übergeordnete Kategorie setzen, externer Link bei Link-Kategorien
- Layout (CMS-Erlebniswelt) zuweisen, inkl. Button „Neue Erlebniswelt anlegen" (öffnet den CMS-Editor in neuem Tab)
- Schalter „In Hauptnavigation anzeigen", Zusatzfelder-Abschnitt
- Standard-Sortierung (Shopware product_sorting) — gespeichert über die Kategorie-Slot-Konfiguration; „Standard (vererbt)" entfernt den Override wieder
Kategoriebild & Alt-Text
In den Stammdaten (direkt über „In Navigation anzeigen") sitzt das Kategoriebild (Cover) mit Vorschau: aus der Mediathek wählen oder direkt hochladen, entfernen. Gespeichert als category.mediaId, Uploads landen im Kategorie-Medienordner. Ein Alt-Text-Feld (sprachabhängig, am Mediendatensatz gespeichert) verbessert Barrierefreiheit und SEO.
SEO-URL (Slug) pro Kanal & Sprache
Im Bereich „Beschreibung & SEO" lässt sich je Verkaufskanal und Sprache ein SEO-URL-Slug setzen. Beim Öffnen wird die aktuelle Canonical-URL geladen, beim Speichern über einen Backend-Endpoint geschrieben:
- Die alte URL bleibt als 301-Weiterleitung erhalten (alter Eintrag wird non-canonical), die neue wird Canonical und als manuell markiert — Shopware überschreibt sie beim Reindex nicht.
- Der Slug wird zusätzlich zuverlässig im Zusatzfeld
staw_pim_seo_urlder Kategorie gespeichert (über den normalen Speichern-Vorgang). - Leeres Feld = Override entfernen, Shopware generiert wieder automatisch.
Produktzuordnung — Stream oder Preset
In der Sektion „Produkte" wird gesteuert, welche Produkte in der Kategorie liegen — in zwei klar getrennten Optionen:
- Dynamische Produktgruppe (Stream): eine Shopware-Produktgruppe (product_stream) auswählen; gespeichert werden
productAssignmentType=product_streamund dieproductStreamId. - Preset (StawPim-Filter): ein StawPim-Filter (staw_pim_filter) mit Live-Trefferanzahl. Beim Speichern im Preset-Modus werden die aufgelösten Produkte der Kategorie fest zugewiesen, sodass sie im Frontend erscheinen. Schutz: 0 Treffer leert die Kategorie nicht.
Die Preset-Anzeige zeigt Hauptartikel und Varianten getrennt (wie im Listing). „Kein Preset" entfernt die Zuordnung wieder.
Vollständigkeits-Score
Jede Kategorie im Baum zeigt einen Prozent-Score (grün/gelb/rot) basierend auf gefüllter Beschreibung, Meta-Titel, Meta-Description und Kategoriebild. Im Detailbereich wird der Score live neben dem Titel angezeigt und aktualisiert sich beim Bearbeiten. Ein Filter nach Vollständigkeit neben der Suche zeigt gezielt unvollständige Kategorien.
KI-Texte & Übersetzung
Ein Button „KI-Texte" generiert Beschreibung, Meta-Title, Meta-Description und Keywords — über alle vier KI-Anbieter, mit Tonalitätswahl, Ausgabe in der aktiven Sprache und freiem Feld „Weitere Anweisungen an die KI". Schalter „Unterkategorien einbeziehen" (ganzer Unterbaum) und „Bestehende Texte überschreiben".
- „Übersetzen" steht zusätzlich einzeln neben „KI-Texte" — Übersetzung der Felder von Quell- in Zielsprache per DeepL oder KI-Anbieter.
- Bulk: Mit „Alle auswählen" + Bulk-Button werden KI-Texte oder Übersetzungen für alle ausgewählten Kategorien auf einmal erzeugt. KI-Fehler zeigen die echte Ursache (curl-Fehler + Upstream-Status) statt nur „Proxy HTTP 502".
Bulk-Aktionen im Baum
Kategorien lassen sich im Baum per Checkbox mehrfach auswählen. Eine Bulk-Leiste zeigt die Anzahl und bietet „Aktiv/Inaktiv setzen" sowie „In Nav anzeigen/ausblenden". Vor jeder Aktion wird ein benannter Snapshot des vorherigen Zustands erstellt; ein Button „Verlauf" listet Snapshots (wiederherstellbar) samt Audit-Log.
Import / Export
Über den Button „Import/Export" lässt sich der komplette Kategoriebaum des gewählten Verkaufskanals verwalten:
- CSV-Export inklusive Zusatzfeldern als eigene
cf.-Spalten. Mehrsprachig: je übersetzbarem Feld eine Spalte pro Shop-Sprache im Formatfeld.locale(z.B.name.de-DE,description.en-GB). - CSV-Import löst die übergeordnete Kategorie über die Spalte
parentPath(Pfad mit „ > ") auf, legt fehlende Kategorien an und aktualisiert bestehende (gleicher Pfad + Name). Mit Vorschau und Validierung (Name/Typ/Parent). - Baum als JSON sichern — vollständiges Backup inkl. aller Sprachen, Zusatzfelder und IDs, ideal vor größeren Umbauten. Wiederherstellen = erneut importieren.