Digidesk Modul "Nicht verwendete Bilder löschen" in OXID 6 installieren

Hallo OXID-Freunde,

ich bin gerade schon seit ca 1,5 Stunden auf der Suche nach einer Methode einfach verwaiste und ungenutzte Bilder aus dem Shop zu löschen.

Ich habe hier ein OXID 6.1.4 auf PHP 7.1 und nutzer für den regemläßigen Artikel-Import und -Update das Importer-Modul von D3. Der Importer verhälts sich hier bei den Bildern genauso wie das OXID-Backend wenn man Artikel-Bilder aktualisiert - das alte Master-Bild wird beibehalten und das neue mit ergäntem Dateinamen hochgeladen. Dieser Screenshot zeigt was ich meine:


Bei diesem Artikel existiert das Masterbild tatsächlich 26 mal und nur eines wird tatsächlich benötigt.
Mittlerweile ist mein pictures-master schon 55 GB groß und ich würde hier gerne mal aufräumen.

Hat hierfür jemand ein Modul oder ein aufräum-Skript, welches diese Bilder löscht?
Bei meinen Recherchen bin ich auf das hier gestoßen: https://docs.digidesk.de/moduldokumentationen/nicht-verwendete-bilder-loeschen das scheint genau das zu sein, was ich benötige aber Composer gibt mir hier folgende Fehlermeldung: "[InvalidArgumentException] Could not find a matching version of package digidesk/deletepictures. Check the package spelling, your version constraint and that the package is available in a stability which matches your minimum-stability (stable). "
Gibt es das hier nicht mehr oder muss ich hier etwas bei Composer zurecht biegen (stability) um das zu installieren? Und wenn ja, wie?

Danke vorab.

Du hast aber schon die Anleitung befolgt oder einfach nur den SSH Befehlt aus dem Schritt 3 copy-pasted?

Installation

Ab OXID 6

  1. Falls noch nicht geschehen, laden Sie bitte zunächst das digidesk Basis-Modul herunter und installieren Sie es gemäß der enthaltenen Installationsanleitung. Sie erhalten dieses unter: https://www.digidesk.de/produkte/basis-modul/​
  2. Für dieses Modul erstellen Sie nun einen weiteren Unterordner “deletepictures” im Ordner “packages/digidesk”, in den die heruntergeladene Zip-Datei entpackt wird
  3. Führen Sie anschließend folgenden Befehl aus dem Hauptverzeichnis des Shopsystems aus:
    composer require digidesk/deletepictures
  4. Nun kann das Modul im OXID eShop Admin aktiviert werden
  5. Ggf. Tmp-Verzeichnis leeren und Views generieren
  6. Bitte fahren Sie nun mit der Einrichtung des Moduls fort
1 Like

Für 4.10er Shops und älter sollte auch dieses Script funktionieren.
Copy&Paste: https://git.d3data.de/D3Public/deletePictures

Für 6.1 & 6.2 ist noch etwas Anpassung notwendig.

Eine etwas späte Antwort aber ich habe erst jetzt wieder die Zit, mich dem zu widmen.

  1. Danke für deine schnelle Antwort.
  2. Asche auf mein Haupt, denn Du hattest recht - ich habe diese Anleitung nicht Schritt für Schritt befolgt.
    Nun kann mein initialer Post als Mahnmal dienen für all diejenigen wie mich selbst.

Grund, weshalb ich hier so vorgegangen bing: Ich habe keine Zip-Datei zum entpacken, wie in Schritt 2 beschrieben, ich dachte dass sich der composer selber die Dateien übers Netz holt, z.B. bei packagist.org oder irgendeiner anderen Quelle, die mir nicht bekannt ist.

Nun bin ich leider wieder am Anfang meiner Suche denn das Modul von Digidesk finde ich nicht… ich muss nun den anderen Hinweisen nachgehen.

Generell ist mir aufgefallen dass bei Packagist deutlich weniger Oxid-Plugins sind, als das noch vor einem Jahr der Fall war. - Btw… Was issn da los?

Danke vorab.

Ich hatte die Zip zum Herunterladen auch nicht gefunden, dachte aber, dass diese ggf. nur für Digidesk-Kunden sichtbar ist und man sich erst registrieren muss, o.ä.
Aber wenn Du die ZIP auch nirgendswo herunterladen kannst, wüsste ich auch nichts anderes, als bei Digidesk nachzufragen. Eventuell gibts das Modul gar nicht mehr.

Danke für diesen Link ich habe es soeben mal in einer Spiegelung des Shops ausprobiert (erst einmal nur die Anzeige, ohne gleich zu löschen) und muss sagen, dass die Auflistung recht vielversprechend aussieht. Der erkennt die Bilder sowohl im Master-Ordner, als auch im Generated-ordner. Ich werde es mal weiter testen …
Der zeigt bei mir so viele Einträge an, dass der Browser schwierigkeiten beim Rendern hat.

Hinweis für alle Anderen

  • das Modul legt einen neuen Unterpunkt im Menü Artikel verwalten an
  • in der htaccess sollte man mittels php_value max_execution_time 600 die Scriptlaufzeit vorrübergehend für diesen zweck anheben denn sonst bringt er das Frontend im Backend ans Tageslicht :wink:

Gerne.

Jo, bei größeren Bildermengen wäre vielleicht ein Offset hilfreich. Mit

ini_set(‘max_execution_time’, 0);

sollte das auch im Skript gehen. Einfach in die for-Schleife.