Media Garabage Collector - HILFE!

Hallo,

wir wollten Bilder gelöschter Artikel automatisch gelöscht haben und Shopware-Support hat geschrieben:

Sofern Sie die Artikel löschen, können Sie mit Hilfe des Cronjobs „Media Garbage Collector“ die noch vorhandenen Artikelbilder automatisch in einen virtuellen Papierkorb schieben, die dann nach einem bestimmten Intervall gelöscht werden.

Prüfen Sie hierfür einfach, ob der Cronjob „Media Garbage Collector“ unter Einstellungen -> Grundeinstellungen -> System -> Cronjobs."

Jetzt haben wir das gemacht und tada! Alle Bilder deaktivierter Artikel PLUS zahlreiche aus Einkaufswelten usw. sind im Papierkorb zu sehen. Insgesamt fast 11,000 Bilder. Ich bin stinksauer, da Shopware an keiner Stelle erwähnt hatte, dass Bilder außer die von gelöschten Artikeln mitgezogen werden würde.

Könnte jemand mit einer Gewiise Kompetenz helfen, und uns sagen, wie man die Bilder aus dem Papierkorb wiederherstellt?

Vielen dank im Voraus

Barrie

Welche Shopware-Version hast du denn?
Der Garbage-Collector hatte in einigen Versionen Probleme, die ein solches Verhalten verursachen können. Das wurde mit Shopware Issuetracker gefixt (5.4). Ansonsten kann man in neuen Versionen auch pro Album definieren, ob dieses Album für den Cleanup berücksichtigt werden soll. Am einfachsten wäre es wohl aus einem Backup die Tabelle s_media und s_article_img zurück zu spielen.

Im Prinzip prüft der Garbage Collector bei jedem Album, was den Haken bei “Unbenutzte Bilder dürfen in den Papierkorb verschoben werden”, ob diese irgendwo verwendet werden (Artikelzuweisung, Artikelbeschreibung, Einkaufswelten, …). Wenn der Verweis nicht gefunden werden kann, landet es im Papierkorb.

1 „Gefällt mir“

Danke. Wie definiert Shopware „_ Unbenutzte Bilder dürfen in den Papierkorb verschoben werden_“ genau?

Hi,

Shopware überprüft die bekannten Tabellen / Felder und prüft, ob da Bilder verwendet werden. Welche Tabellen / Felder geprüft werden, kannst du hier sehen: shopware/GarbageCollectorFactory.php at 5.4 · shopware/shopware · GitHub 

Da Shopware Plugin-Tabellen nicht kennt, müssen Plugin-Entwickler die von ihnen genutzten Medien als eigene Medien-Positionen registrieren. Erfolgt dies nicht und wird das Medium nicht von irgendeiner Shopware-Core-Tabelle genutzt, kann es also passieren, das ein Bild als „ungenutzt“ erkannt wird, obwohl es bspw. von einem Plugin genutzt wird. 

In vielen Fällen ist Shopware aber bereits so flexibel gehalten, dass Plugin-Erweiterungen ohnehin in Core-Tabellen fallen, bspw. bei Einkaufswelten oder Attributen. Die erkennt Shopware also automatisch.

Besten Gruß

Daniel

 

1 „Gefällt mir“

Danke für die schnelle Hilfe. Es scheint alles doch in Ordnung zu sein. Ich habe nur etwas panisch reagiert, weil so viele Bilder im Warenkorb zu sehen waren. Jetzt haben wir die Einstellung per Ordner in der Mediathek eingerichtet.

Hurra, ich hab das Problem auch. Der Media Garbage Collector hat mir rund 1800 Bilder in den Papierkorb geschoben, wovon viele aber in Verwendung sind. Sei es für Artikel (aktive und inaktive), in Einkaufswelten, Rechnungsvorlage, oder anderswo. Das ist ja zum Haareraufen. 

(Shopware Version 5.5.10)