DataFirefly Catalog Merge: doppelte Attribute und Merkmale zusammenführen
Installation, Einstellungen, Zusammenführen doppelter Attribut- und Merkmalswerte, Reihenfolge und Fehlerbehebung.
<h2>Installation</h2>
<p>Installieren Sie das Modul über <strong>Module > Modul-Manager > Modul hochladen</strong> mit der ZIP-Datei, oder legen Sie den Ordner <code>dfcatalogmerge</code> im Verzeichnis <code>/modules/</code> Ihres Shops ab und klicken Sie auf Installieren.</p>
<p>Bei der Installation legt das Modul seine beiden Tabellen an (Positionen der Merkmalswerte und Verlauf der Zusammenführungen), registriert den Hook <code>filterProductContent</code> und fügt unter dem Menü Katalog den Reiter <strong>Katalog zusammenführen</strong> hinzu.</p>
<div class=“df-callout warn“><p>Dieses Modul verändert Ihre Katalogdaten endgültig. Sichern Sie Ihre Datenbank vor der ersten Aufräumaktion. Zusammenführungen lassen sich nicht rückgängig machen.</p></div>
<h2>Moduleinstellungen</h2>
<p>Die Einstellungen finden Sie auf der Konfigurationsseite des Moduls. Vier Optionen, alle standardmäßig aktiviert.</p>
<h3>Reihenfolge auf den Produktseiten erzwingen</h3>
<p>Wendet die festgelegten Positionen auf die Merkmalswerte an, die auf der Produktseite erscheinen. Diese Option ist unter PrestaShop 8 erforderlich, dessen Kern Merkmalswerte nicht sortiert. Unter PrestaShop 9 füllt das Modul zusätzlich die native Positionsspalte, und die Option stellt dasselbe Ergebnis sicher, unabhängig von der Shop-Einstellung <code>PS_FEATURE_VALUES_ORDER</code>.</p>
<h3>Doppelte Varianten zusammenführen</h3>
<p>Werden zwei Varianten desselben Produkts nach einer Zusammenführung identisch, vereint das Modul sie automatisch. Deaktivieren Sie diese Option nur, wenn Sie solche Fälle von Hand behandeln möchten, und bedenken Sie, dass PrestaShop zwei Varianten mit exakt denselben Attributen schlecht verarbeitet.</p>
<h3>Tabellen anderer Module aktualisieren</h3>
<p>Das Modul durchsucht die Datenbank nach allen Tabellen außerhalb des Kerns, die eine Spalte <code>id_attribute</code> oder <code>id_feature_value</code> besitzen, insbesondere den Index der Facettensuche, und hängt die betroffenen Zeilen um oder entfernt sie. Ohne diese Option können nach einer Zusammenführung Geisterfilter zurückbleiben.</p>
<h3>Verlauf der Zusammenführungen speichern</h3>
<p>Erfasst jede angewendete Zusammenführung: Ausgangswert, Zielwert, Anzahl der geänderten Zeilen, Mitarbeiter und Datum. Einsehbar im Reiter Verlauf.</p>
<h2>Attributwerte zusammenführen</h2>
<p>Öffnen Sie <strong>Katalog > Katalog zusammenführen</strong>, Reiter <strong>Attributwerte</strong>. Wählen Sie die zu bereinigende Attributgruppe und die Sprache, in der Sie die Bezeichnungen lesen möchten.</p>
<p>Die Tabelle listet die Werte der Gruppe mit der Anzahl der Produkte und Varianten, die sie verwenden. Haken Sie die zu entfernenden Dubletten an, wählen Sie in der Liste „Ausgewählte Werte zusammenführen in“ den Wert, der bleiben soll, und klicken Sie auf <strong>Simulieren</strong>.</p>
<h3>Den Simulationsbericht lesen</h3>
<p>Die Simulation schreibt nichts. Der Bericht nennt die Anzahl der zu konvertierenden Variantenzeilen, die betroffenen Produkte, die Varianten, die den Zielwert bereits tragen, und jene, die nach der Zusammenführung identisch werden. Passt der Bericht, klicken Sie auf <strong>Diese Zusammenführung anwenden</strong>.</p>
<h3>Was mit den Varianten geschieht</h3>
<p>Alle Varianten, die einen gelöschten Wert verwenden, wechseln auf den behaltenen Wert. Drei Sonderfälle werden automatisch behandelt:</p>
<ul>
<li>Eine Variante trug bereits den Zielwert und seine Dublette: die doppelte Zeile wird entfernt, der Rest der Variante bleibt unberührt.</li>
<li>Zwei Varianten desselben Produkts werden identisch: sie werden vereint. Mengen werden shopweise addiert, Bilder und Sonderpreise übertragen, die Standardvariante bleibt erhalten, und der Bestand des Hauptprodukts wird neu synchronisiert.</li>
<li>Offene Warenkörbe, die auf die entfernte Variante verweisen, werden auf die bleibende umgehängt.</li>
</ul>
<div class=“df-callout note“><p>Die zusammenzuführenden Werte müssen zur selben Attributgruppe gehören wie der Zielwert. Das Modul verweigert eine Zusammenführung über zwei Gruppen hinweg, die zu widersprüchlichen Varianten führen würde.</p></div>
<h2>Merkmalswerte zusammenführen</h2>
<p>Der Reiter <strong>Merkmalswerte</strong> funktioniert genauso: Merkmal wählen, Dubletten anhaken, Zielwert wählen, simulieren und anwenden.</p>
<p>Die Produktzuordnungen werden auf den behaltenen Wert umgestellt. Trug ein Produkt bereits beide Werte, wird die doppelte Zuordnung entfernt. Unter PrestaShop 9 werden die an Varianten gebundenen Merkmalswerte gleichzeitig behandelt.</p>
<h3>Benutzerdefinierte Werte</h3>
<p>PrestaShop erlaubt einen Merkmalswert, der nur für ein einziges Produkt gilt und in der Tabelle als <em>benutzerdefiniert</em> gekennzeichnet ist. Solche Werte sind nach einem Import die häufigste Dublettenquelle. Sie lassen sich wie jeder andere Wert in einen gemeinsamen Wert überführen. War der Zielwert selbst benutzerdefiniert und wird nach der Zusammenführung von mehreren Produkten genutzt, wandelt das Modul ihn automatisch in einen gemeinsamen Wert um.</p>
<h2>Dubletten automatisch finden</h2>
<p>Der Reiter <strong>Dublettensuche</strong> durchsucht den gesamten Katalog und gruppiert Werte, deren Bezeichnung identisch ist, sobald Groß- und Kleinschreibung, Akzente, Interpunktion und mehrfache Leerzeichen ignoriert werden. „Rot“, „rot“ und „ROT“ bilden somit eine Gruppe, ebenso „Bio Baumwolle“ und „bio-baumwolle“.</p>
<p>Für jede Gruppe wird der meistgenutzte Wert als Ziel vorgeschlagen, wobei gemeinsame Werte gegenüber benutzerdefinierten bevorzugt werden. Die Schaltfläche <strong>Diese Zusammenführung simulieren</strong> übergibt die Gruppe an den Simulationsbildschirm, wo Sie die endgültige Entscheidung behalten.</p>
<p>Die Analyse läuft in der gewählten Sprache. Starten Sie sie in einem mehrsprachigen Katalog in jeder Sprache erneut: eine Dublette kann nur in einer Übersetzung bestehen.</p>
<h2>Die Reihenfolge festlegen</h2>
<p>In den ersten beiden Reitern hat jede Zeile links einen Griff. Ziehen Sie eine Zeile, um ihre Position zu ändern: die neue Reihenfolge wird sofort gespeichert, ohne die Seite neu zu laden.</p>
<p>Die Schaltfläche <strong>Automatisch sortieren</strong> ordnet die Werte ohne Handarbeit. Kleidergrößen folgen der Reihenfolge XS, S, M, L, XL, XXL statt der alphabetischen, und numerische Werte folgen der natürlichen Reihenfolge: 2 vor 10, 39 vor 41.</p>
<h3>Was der Kunde sieht</h3>
<p>Bei Attributwerten ist die Position jene, die die Variantenauswahl der Produktseite verwendet, unter PrestaShop 8 wie unter PrestaShop 9. Eine zusätzliche Einstellung ist nicht nötig.</p>
<p>Bei Merkmalswerten gilt die Reihenfolge für die Merkmalstabelle der Produktseite, sofern die Option „Reihenfolge auf den Produktseiten erzwingen“ aktiv ist. Unter PrestaShop 9 wird die native Position parallel gefüllt, wodurch dieselbe Reihenfolge auch in den übrigen Backoffice-Bildschirmen erscheint.</p>
<div class=“df-callout tip“><p>Ändert sich die Reihenfolge im Frontend nach einer Bearbeitung nicht, leeren Sie den Shop-Cache. Produktseiten werden von PrestaShop und von den meisten Performance-Modulen zwischengespeichert.</p></div>
<h2>Verlauf der Zusammenführungen</h2>
<p>Der Reiter <strong>Verlauf</strong> listet die angewendeten Zusammenführungen, die neueste zuerst: Datum, Typ, Ausgangswert mit seiner ID, behaltener Wert und Anzahl der geänderten Zeilen. Die IDs bleiben erhalten, damit Sie bei Bedarf mit einer Datenbanksicherung abgleichen und manuell zurückgehen können.</p>
<h2>Bewährtes Vorgehen</h2>
<ul>
<li>Sichern Sie die Datenbank vor einer Aufräumaktion, besonders bei Katalogen mit mehreren Tausend Produkten.</li>
<li>Simulieren Sie grundsätzlich. Der Bericht zeigt Ihnen die Varianten, die durch die Zusammenführung verschwinden, bevor es geschieht.</li>
<li>Arbeiten Sie Gruppe für Gruppe statt in einem Durchgang, damit die Berichte lesbar bleiben.</li>
<li>Bauen Sie nach einer großen Zusammenführung den Index der Facettensuche neu auf, falls Sie dieses Modul nutzen.</li>
<li>Führen Sie Zusammenführungen in einem stark frequentierten Shop in Randzeiten durch: das Konvertieren der Varianten sperrt die betroffenen Tabellen kurzzeitig.</li>
</ul>
<h2>Fehlerbehebung</h2>
<h3>Die Zusammenführung wird mit einem Hinweis zur Attributgruppe abgelehnt</h3>
<p>Alle angehakten Werte müssen zur selben Attributgruppe gehören wie der Zielwert, bei Merkmalswerten zum selben Merkmal. Prüfen Sie, ob Sie nicht einen gleichnamigen Wert aus einer anderen Gruppe angehakt haben.</p>
<h3>Die Reihenfolge der Merkmalswerte ändert sich auf der Produktseite nicht</h3>
<p>Prüfen Sie, ob die Option „Reihenfolge auf den Produktseiten erzwingen“ aktiv ist, und leeren Sie den Cache. Gibt Ihr Theme die Merkmale über ein Drittanbietermodul statt über die nativen Variablen der Produktseite aus, wird die Reihenfolge womöglich nicht übernommen: melden Sie sich mit dem Namen des Themes bei uns.</p>
<h3>Eine Zusammenführung wurde unterbrochen</h3>
<p>Die Schreibvorgänge laufen in einer Transaktion: bei einem Fehler kehrt die Datenbank in ihren Ausgangszustand zurück und es gehen keine Daten verloren. Die Fehlermeldung am oberen Bildschirmrand nennt die Ursache. Für das Zurückrollen müssen die Tabellen InnoDB sein.</p>
<h3>Facettenfilter zeigen den gelöschten Wert weiterhin an</h3>
<p>Vergewissern Sie sich, dass die Option „Tabellen anderer Module aktualisieren“ zum Zeitpunkt der Zusammenführung aktiv war, und bauen Sie den Index des Facettennavigationsmoduls über dessen Konfigurationsseite neu auf.</p>
<h2>Kompatibilität</h2>
<ul>
<li>PrestaShop 8.0 bis 9.x, dieselbe ZIP deckt beide Zweige ab.</li>
<li>Multishop und mehrsprachig.</li>
<li>Architektur ModuleAdminController, ohne Composer-Abhängigkeit.</li>
<li>Oberfläche verfügbar auf Deutsch, Französisch, Englisch, Spanisch, Italienisch, Niederländisch, Polnisch und Portugiesisch.</li>
</ul>