Fremdsystem-Schutz · gepflegte Texte bleiben, wie sie sind
Warenwirtschaft, Marktplatz-Connector oder Übersetzungsdienst schreiben oft per Schnittstelle in Shopware und überschreiben dabei Texte, die du im PIM gepflegt hast. Der Fremdsystem-Schutz merkt sich den PIM-Stand je Artikelnummer und Sprache und stellt ihn wieder her, sobald er von außen verändert wurde.
Wozu der Schutz dient
Viele Shops binden Fremdsysteme über Shopware-Integrationen an. Liefert ein solches System bei jedem Abgleich seine eigenen Produktnamen oder Beschreibungen mit, sind gepflegte SEO-Texte und Übersetzungen nach dem nächsten Lauf verschwunden. Der Schutz erkennt solche Schreibvorgänge und setzt die betroffenen Felder zurück. Du findest ihn in der Konfigmatrix im Tab „Fremdsysteme", standardmäßig ist er ausgeschaltet.
So funktioniert der Abgleich
- Referenzstand: Das PIM speichert die geschützten Felder je Artikelnummer und Sprache in einer eigenen Tabelle.
- Erkennen: Schreibt ein Fremdsystem über eine Integration in Produktübersetzungen, merkt das PIM die betroffenen Artikel vor. Schreibvorgänge angemeldeter Benutzer, also auch aus dem PIM selbst, frischen den Referenzstand dagegen sofort auf.
- Wiederherstellen: Felder, die vom Referenzstand abweichen, werden darauf zurückgesetzt. Danach hält das PIM den Stand erneut als Referenz fest.
Alle Einstellungen im Tab „Fremdsysteme"
| Einstellung | Bedeutung | Standard |
|---|---|---|
| Schutz aktivieren | Ist der Schutz aus, wird weder ein Referenzstand festgehalten noch etwas wiederhergestellt | aus |
| Geschützte Sprachen | Nur diese Sprachen werden überwacht. Nutzt ein Verkaufskanal eine eigene Sprache, wähle genau diese | keine |
| Geschützte Felder | Name, Beschreibung, Meta-Title, Meta-Description, Keywords | alle fünf |
| Als fremd geltende Integrationen | Auswahl aus deinen Shopware-Integrationen. Ohne Auswahl gilt jede Integration als fremd | keine |
| Auslösung | Ereignisse und geplanter Lauf, Nur Ereignisse, Nur geplanter Lauf (Cronjob), Nur manuell | Ereignisse und geplanter Lauf |
| Wartezeit zwischen Läufen | Sekunden zwischen zwei automatischen Läufen, 0 bis 3600 | 60 |
Ohne mindestens eine geschützte Sprache passiert nichts. Hast du Integrationen ausgewählt, behandelt das PIM Schreibvorgänge aller anderen Integrationen wie eigene Änderungen und frischt den Referenzstand auf.
Auslösung im Detail
- Ereignisse erkennen Schreibvorgänge über Integrationen sofort und merken die Artikel vor.
- Der geplante Lauf arbeitet diese Vormerkungen ab. Er braucht eine aktive Aufgabenverarbeitung in Shopware.
- Nur manuell startet nichts automatisch, der Abgleich läuft ausschließlich über die Knöpfe im Tab.
Für eine automatische Wiederherstellung ist die Standardeinstellung „Ereignisse und geplanter Lauf" der richtige Weg. In allen Modi frischt jede Bearbeitung im PIM den Referenzstand auf.
Referenzstand, Prüfen und Wiederherstellen
Im Abschnitt „Referenzstand und Protokoll" stehen drei Knöpfe:
- Referenzstand setzen: Der aktuelle Stand aller Produkte wird zum Sollzustand. Ein Bestätigungsfenster nennt die Zahl der Felder, Sprachen und bisher gespeicherten Einträge.
- Nur prüfen: Meldet, wie viele Einträge vom Referenzstand abweichen, ohne etwas zu ändern.
- Jetzt wiederherstellen: Prüft den gesamten Bestand und setzt alle Abweichungen zurück. Das erfasst auch Änderungen, die an der Schnittstelle vorbeiliefen, etwa einen Import direkt in die Datenbank. Der Vorgang lässt sich nicht rückgängig machen.
Darunter siehst du die Zahl der gespeicherten Referenzstände sowie den Zeitpunkt der letzten Auffrischung und des letzten Laufs.
Protokoll und CSV-Export
Die Tabelle zeigt die letzten zehn Läufe mit Zeitpunkt, Auslöser (Referenz gesetzt, Von Hand, Ereignis, Geplanter Lauf), geprüften, wiederhergestellten und festgehaltenen Einträgen sowie der Dauer. Gespeichert bleiben die letzten 50 Läufe. Hat ein Lauf Texte wiederhergestellt, lädst du per CSV die Liste mit Artikelnummer, Name und betroffenen Feldern herunter, ideal für die Klärung mit dem Betreiber des Fremdsystems. Die Datei nutzt Semikolon als Trennzeichen und öffnet sich in Excel mit korrekten Umlauten. Je Lauf werden bis zu 2000 Artikel festgehalten.
Geplante Aufgabe staw_pim_direct.translation_guard
Das Plugin registriert die geplante Aufgabe staw_pim_direct.translation_guard mit einem Intervall von 300 Sekunden. Sie läuft nur, wenn der Schutz aktiv ist und die Auslösung einen geplanten Lauf vorsieht, und sie beachtet die Wartezeit. Bewusst prüft sie nur vorgemerkte Artikel und keinen Vollbestand: So kann sie eine gewollte Bearbeitung nicht mit einer fremden Überschreibung verwechseln.
Aufruf über HTTP ohne Kommandozeile
Ohne Zugang zur Kommandozeile startest du den Abgleich über eine Adresse, die der Tab zum Kopieren anzeigt:
https://dein-shop.de/api/_action/staw-pim-direct/guard/cron/<Schlüssel>
- Aufruf per GET oder POST, zum Beispiel alle fünf Minuten über den Cron-Dienst deines Hosters.
- Standardmäßig werden nur vorgemerkte Artikel abgearbeitet. Mit angehängtem
?full=1prüft der Aufruf den gesamten Bestand, das ist deutlich aufwendiger. - Der Aufruf wirkt nur bei aktivem Schutz und einer Auslösung mit geplantem Lauf. Ohne
full=1gilt die Wartezeit.
Konsolenbefehl staw:pim:guard:snapshot
Für den Erstlauf auf großen Beständen ist die Konsole der bessere Weg: Im Admin läuft das Setzen der Referenz in einer einzigen Anfrage und kann bei zehntausenden Zeilen an die Zeitgrenze des Webservers stoßen.
bin/console staw:pim:guard:snapshot
bin/console staw:pim:guard:snapshot --check
bin/console staw:pim:guard:snapshot --restore
| Aufruf | Wirkung |
|---|---|
| ohne Option | Setzt den Referenzstand für alle Produkte |
--check | Meldet abweichende Einträge, schreibt nichts |
--restore | Stellt Abweichungen im gesamten Bestand wieder her und frischt danach die Referenz auf |
--force | Führt den Befehl auch aus, wenn der Schutz ausgeschaltet ist |
Ist keine geschützte Sprache gewählt, bricht der Befehl mit einem Hinweis ab.
Weiter geht's
Texte für viele Sprachen erzeugst du mit der KI-Textgenerierung oder per CSV-Import. Den Tab „Fremdsysteme" und alle anderen Einstellungen findest du in der Konfigmatrix, wer sie sehen darf, regeln Rechte & Superadmin.
Häufige Fragen
Werden meine eigenen Änderungen im PIM zurückgesetzt?
Nein. Schreibvorgänge angemeldeter Benutzer frischen den Referenzstand sofort auf. Zurückgesetzt werden nur Änderungen über Integrationen, die als fremd gelten.
Welche Felder kann ich schützen?
Name, Beschreibung, Meta-Title, Meta-Description und Keywords der Produktübersetzungen, jeweils für die gewählten Sprachen.
Brauche ich einen Cronjob?
Für die automatische Wiederherstellung muss die Aufgabenverarbeitung von Shopware laufen. Alternativ rufst du die angezeigte HTTP-Adresse regelmäßig über einen Cron-Dienst auf.
Was ist mit Importen direkt in die Datenbank?
Solche Änderungen lösen kein Ereignis aus. „Jetzt wiederherstellen", der Konsolenbefehl mit --restore oder die HTTP-Adresse mit ?full=1 prüfen den gesamten Bestand und finden sie trotzdem.