Zum Inhalt springen
Stone & Water

Shopware Texte vor dem Überschreiben durch ERP und Schnittstellen schützen

Wer Shopware Texte vor ERP-Überschreiben schützen will, kennt das Problem: Die Warenwirtschaft gleicht nachts ab, und am Morgen sind gepflegte Beschreibungen, SEO-Texte und Übersetzungen wieder durch die Stammdaten aus dem ERP ersetzt. Der Fremdsystem-Schutz des PIM merkt sich den gepflegten Stand und stellt ihn wieder her.

Das Wichtigste in Kürze
  • Schützt Name, Beschreibung, Meta-Title, Meta-Description und Keywords je gewählter Sprache.
  • Reagiert auf Schreibvorgänge über Shopware-Integrationen, die du als fremd festlegst.
  • Eigene Änderungen im Admin und im PIM frischen den Referenzstand auf und werden nie zurückgesetzt.
  • Protokoll mit CSV-Export, Konsolenbefehl staw:pim:guard:snapshot und geplante Aufgabe.

ERP-Abgleich im Shopware-Standard

ERP, Warenwirtschaft, PIM-Systeme von Lieferanten oder Marktplatz-Connectoren schreiben über die Shopware-API in den Produktbestand. Viele dieser Anbindungen liefern bei jedem Abgleich den kompletten Artikel mit, also auch Name und Beschreibung aus dem ERP. Shopware unterscheidet dabei nicht, ob ein Text im Shop sorgfältig für SEO überarbeitet wurde: Der zuletzt geschriebene Wert gewinnt. Das Ergebnis sind verlorene Arbeitsstunden, schwankende Rankings und Übersetzungen, die nach dem nächsten Lauf wieder in der Ausgangssprache stehen. Oft lässt sich die Schnittstelle nicht so einstellen, dass sie Texte auslässt, oder der Anbieter verlangt dafür eine teure Anpassung.

Shopware Texte vor ERP-Überschreiben schützen mit dem Fremdsystem-Schutz

Den Fremdsystem-Schutz findest du in der Konfigurationsmatrix im Tab „Fremdsysteme", standardmäßig ist er ausgeschaltet. Er arbeitet in drei Schritten:

  1. Referenzstand: Das PIM speichert die geschützten Felder je Artikelnummer und Sprache in einer eigenen Tabelle.
  2. Erkennen: Schreibt eine als fremd geltende Integration in Produktübersetzungen, merkt das PIM die betroffenen Artikel vor. Schreibvorgänge angemeldeter Benutzer frischen den Referenzstand dagegen sofort auf.
  3. Wiederherstellen: Felder, die vom Referenzstand abweichen, werden zurückgesetzt.

Weil der Referenzstand an der Artikelnummer hängt, funktioniert der Schutz auch, wenn sich interne IDs bei einem Neuimport ändern. Ein von der übergeordneten Sprache geerbtes Feld wird als „geerbt" gesichert und genauso zurückgeschrieben.

Die Einstellungen

  • Schutz aktivieren: Ist der Schutz aus, wird weder ein Referenzstand festgehalten noch etwas wiederhergestellt.
  • Geschützte Sprachen: Nur diese werden überwacht. Ohne mindestens eine Sprache passiert nichts.
  • Geschützte Felder: Name, Beschreibung, Meta-Title, Meta-Description, Keywords, standardmäßig alle fünf.
  • Als fremd geltende Integrationen: Auswahl aus deinen Shopware-Integrationen. Ohne Auswahl gilt jede Integration als fremd; wählst du welche aus, behandelt das PIM alle anderen wie eigene Änderungen.
  • Auslösung: „Ereignisse und geplanter Lauf" (Standard), „Nur Ereignisse", „Nur geplanter Lauf (Cronjob)" oder „Nur manuell". Für eine automatische Wiederherstellung empfiehlt sich die Standardeinstellung mit beiden Wegen.
  • Wartezeit zwischen Läufen: 0 bis 3600 Sekunden, Standard 60. Sie verhindert, dass der Abgleich bei vielen Schreibvorgängen in kurzer Folge ständig neu startet.

Geplante Aufgabe, HTTP-Aufruf und Konsole

Das Plugin registriert die geplante Aufgabe staw_pim_direct.translation_guard mit einem Intervall von 300 Sekunden. Sie arbeitet die vorgemerkten Artikel ab und braucht eine aktive Aufgabenverarbeitung in Shopware. Ohne Kommandozeile rufst du alternativ die im Tab angezeigte HTTP-Adresse über den Cron-Dienst deines Hosters auf; sie ist durch einen Zufallsschlüssel geschützt, den du mit „Neuer Schlüssel" jederzeit erneuerst. Für große Bestände ist die Konsole der bessere Weg:

  • bin/console staw:pim:guard:snapshot setzt den Referenzstand für alle Produkte.
  • --check meldet Abweichungen, ohne etwas zu schreiben.
  • --restore stellt Abweichungen im gesamten Bestand wieder her.
  • --force führt den Befehl auch bei ausgeschaltetem Schutz aus.

Protokoll und Wiederherstellen von Hand

Im Abschnitt „Referenzstand und Protokoll" stehen „Referenzstand setzen", „Nur prüfen" und „Jetzt wiederherstellen". Das Protokoll zeigt die letzten Läufe mit Auslöser, geprüften und wiederhergestellten Einträgen und Dauer. Per CSV lädst du die wiederhergestellten Artikel mit Artikelnummer, Name und betroffenen Feldern herunter, praktisch für die Klärung mit dem Betreiber der Schnittstelle. „Jetzt wiederherstellen" prüft den gesamten Bestand und erfasst damit auch Änderungen, die an der Schnittstelle vorbeiliefen, etwa einen Import direkt in die Datenbank. Der Vorgang lässt sich nicht rückgängig machen.

Schritt für Schritt: Texte vor dem ERP schützen

  1. Texte prüfen: Stelle sicher, dass die Texte im Shop dem gewünschten Stand entsprechen. Genau dieser Stand wird zur Referenz.
  2. Sprachen und Felder wählen: Wähle im Tab „Fremdsysteme" die zu schützenden Sprachen und Felder.
  3. Integration festlegen: Wähle die Integration deines ERP als fremd aus.
  4. Auslösung einstellen: Belasse „Ereignisse und geplanter Lauf" und prüfe, ob die Aufgabenverarbeitung von Shopware läuft.
  5. Referenz setzen: Klicke auf „Referenzstand setzen" oder nutze bei großen Beständen den Konsolenbefehl.
  6. Schutz aktivieren und beobachten: Schalte den Schutz ein und kontrolliere nach dem nächsten ERP-Abgleich das Protokoll.
Erst die Referenz, dann der Schutz: Wurde ein Text bereits von außen überschrieben, wenn du den Referenzstand setzt, wird der fremde Text zur Referenz und lässt sich danach nicht mehr zurückholen. Im Zweifel zuerst „Nur prüfen" verwenden.

Praxisfälle

  • Nächtlicher ERP-Abgleich: Preise und Bestände kommen weiter aus der Warenwirtschaft, SEO-Beschreibungen bleiben erhalten.
  • Übersetzungen: Die englische Beschreibung wird nicht mehr durch den deutschen ERP-Text ersetzt.
  • Mehrere Schnittstellen: Nur das ERP gilt als fremd, ein Übersetzungsdienst über eine andere Integration darf Texte schreiben.
  • Direktimport in die Datenbank: „Jetzt wiederherstellen" oder --restore holt auch solche Änderungen zurück.

Häufige Fragen

Werden meine eigenen Änderungen zurückgesetzt?

Nein. Schreibvorgänge angemeldeter Benutzer, also auch aus dem PIM, 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.

Welche Auslösung soll ich wählen?

Für eine automatische Wiederherstellung die Standardeinstellung „Ereignisse und geplanter Lauf". Ereignisse merken betroffene Artikel vor, der geplante Lauf arbeitet sie ab.

Wie setze ich den Referenzstand bei sehr vielen Artikeln?

Mit dem Konsolenbefehl bin/console staw:pim:guard:snapshot. Im Admin läuft das Setzen in einer einzigen Anfrage und kann bei sehr großen Beständen an die Zeitgrenze des Webservers stoßen.

Weiterlesen

PIM für Shopware testen

Alle Lizenzmodelle und Laufzeiten findest du auf der Seite Preise. Du möchtest vorab wissen, ob das PIM zu deinem Shop und deinen Prozessen passt? Schreib uns über das Kontaktformular - wir antworten persönlich.

Preise ansehen