Ich habe einen Magento-Shop übernommen, der über 3 Jahre eine große Anzahl von Produktbildern erstellt hat, die nicht mehr verwendet werden, aber nie gelöscht wurden.
Gibt es eine Möglichkeit, alle nicht mehr verwendeten Bilder zu löschen und gleichzeitig alle verwendeten Bilder beizubehalten? Ich habe nach einem Modul / einer Erweiterung gesucht, aber keines gefunden, das mit der Magento 1.9-Community funktioniert.
magento-1.9
product-images
ce-1.9.0.1
komische Ente
quelle
quelle
Antworten:
Sie können das folgende Shell-Skript ausprobieren: https://gist.github.com/aleron75/07ab2a950b2e3429a820
Ich habe es nicht auf Version 1.9.x getestet. noch
Hinweis: Erstellen Sie ein Backup, bevor Sie es in einer Produktionsumgebung verwenden, und testen Sie es möglicherweise zuvor in einer Staging-Umgebung.
Ich hoffe es hilft.
Herzliche Grüße, Alessandro
quelle
Sie können dieses Skript in das Stammverzeichnis Ihrer Magento-Installation hochladen und es sogar über Ihren Browser ausführen.
https://gist.github.com/JeroenBoersma/60a4acb8e56498bce41c
Überprüfen Sie, ob Ihre Attribute für Medien diese IDs haben.
Wenn Sie dies vergessen, könnten Sie möglicherweise Dinge zerbrechen
Es werden Prüfsummen erstellt, um doppelte Dateien pro Produkt zu erkennen und diese vom Dateisystem und der Datenbank zu trennen.
Der zweite Schritt ist das Erkennen von Dateien, die sich im Dateisystem und nicht mehr in der Datenbank befinden.
Verwendet es ab 1.7, also sollte es funktionieren.
Wenn Sie schlau sind, empfehle ich immer, zuerst ein Backup zu erstellen.
quelle
Sie können dieses PHP-Skript in den Magento- Stammpfad einfügen und es vom Browser aus aufrufen:
Das Skript wird standardmäßig
dry-mode
für einen sicheren Test ausgeführt, mit dem Sie Waisenkinder tatsächlich löschen können, wenn alles überzeugend klingt.quelle
Ich würde empfehlen, zu gehen
System -> Cache-Verwaltung -> Katalog-Image-Cache leeren.
Dadurch werden alle generierten Bilder entfernt und neu generiert, wenn ein Benutzer die Site besucht.
quelle
Platzieren Sie das folgende Skript in Magento Root und führen Sie es aus
quelle
Ich empfehle die Verwendung dieses n98-magerun-Moduls namens EAVCleaner
Führen Sie nach der Installation den folgenden Befehl aus, um nicht verwendete Produktabbilder zu entfernen
n98-magerun eav:media:remove-unused
Ein Vorteil der Verwendung dieses Moduls gegenüber den anderen Skripten besteht darin, dass eine größere Anzahl von Bildern gelöscht werden kann. Die meisten anderen oben verlinkten Skripte erstellen eine Reihe von Bildern und löschen sie dann. Dadurch wird das Medienverzeichnis durchlaufen und das nicht verwendete Bild entfernt, wenn es gefunden wird
Wir haben ein Problem festgestellt, bei dem das Produktinformationsmanagementsystem eines Kunden jeden Tag neue Produktbilder hochlud und das Medienverzeichnis auf fast 400 GB vergrößert wurde. Jedes andere Skript, das wir gefunden haben, hat versucht, die Hunderte von Bilddateipfaden in den Speicher zu stellen, und es kam zu Fehlern. Dieses Skript hat es geschafft
quelle
Dieser Weg hat bei mir sehr gut funktioniert:
Github-Repository
Wie benutzt man:
Schritt 1: Überprüfen Sie die Verzeichnisgröße vor der Ausführung
Schritt 2: Kopieren Sie den Mr. Dajve-Code und erstellen Sie eine Datei in
Schritt 3: Datei ausführen
Schritt 4: Überprüfen Sie die Verzeichnisgröße nach der Ausführung
quelle