ich bin gerade mal zufällig auf das Icon für Papierkorb in der Medienverwaltung gekommen. Darin liegen zahlreiche Medien, die bei uns im Einsatz sind. Wir haben diese nie in den Papierkorb geschoben. Die Medien finden sich sonst in keinem anderen Ordner. Wie kann das sein? Wie bekomme ich diese “gerettet”?
Es gibt einen Cronjob “Media Garbage Collector”, der unverwendete Bilder in den Papierkorb räumt. Zwischendurch war der mal übereifrig und hat mehr Bilder als nötig erfasst. So lange man sie nicht tatsächlich löscht, ist auch noch nichts passiert. Man kann sie jetzt einfach mit der Maus in den gewünschten Ordner zurück schieben.
Man kann auch explizit bestimmte Ordner vom Aufräumen ausnehmen oder den Cronjob komplett stoppen.
Oh man, das sind über 150 Stück und auch neue, die wir heute erst eingesetzt haben. Wie kommt der Cron denn auf die Idee, die aus den Ordnern zu nehmen und wegzuwerfen? Macht ja irgendwie keinen Sinn.
Die landen dort sicherlich, weil Artikel oder andere Elemente nicht mehr auf die Bilder zugreifen. Weiß nicht ob man hier etwas mit MySQL-Abfragen basteln kann. Bin mir aber ziemlich sicher.
Hatte gerade das gleiche Problem in einem Shopware 5.5.10. Ein paar Tausend Bilder im Papierkorb, weil die zugehörigen Artikel deaktiviert waren. Die wollte ich erst am nächsten Tag aktivieren, weil noch ein paar Importe notwendig waren. Sehr ärgerlich…
Manuelles Verschieben über die Medienverwaltung hätte viel zu lange gedauert. Zum Glück bleiben die Bilder im Dateisystem an Ort und Stelle, sodass man die nicht verschieben muss.
Ich habe es so gemacht, das hat wunderbar geklappt:
SQL-Statement abgesetzt, das alle Bilder aus dem Papierkorb in den Ordner „Artikel“ verschiebt: update s_media albumID = -1 where albumID = -13
Dabei ist „-1“ die ID des Ordners „Artikel“ und „-13“ die ID des Ordners „Papierkorb“
Interessantes Verhalten. Habe mal den Cronjob deaktiviert, da ich bei einigen Medien Links über ein Plugin hinterlegt habe, die aber erst aktiv geschalten werden wenn alle Artikel fertig sind.
Ärgerlich, aber jetzt, da ich es weiß, dass nicht ich daran schuld bin, ein wenig besser. Trotzdem großes Kopfschütteln.
Gehe ich richtig in der Annahme, dass ein Setzen von 1 auf 0 (garbage collectable) das Album ausnimmt vom Garbage Collector?
Hallo zusammen,
vielleicht noch ein kleiner Hinweis:
Bei einem meiner Kunden lagen auch etliche hundert Bilder im Papierkorb, die ich dann gelöscht habe - und auf einmal fehlten die im Frontend.
Des Rätsels Lösung nach längeren Nachforschungen war die Schnittstell zur Warenwirtschaft. Die schaffte es irgendwie Bilder mit dem gleichen Pfad mehrfach in der Datenbank anzulegen.
Das checke ich von Zeit zu Zeit mit dieser Abfrage:
select distinct * from s_media smo where smo.path in (select path from s_media group by path having count(path)>1 and group_concat(albumID order by albumid desc) like '-1,%') and smo.albumID=-13 order by path;
bzw. wenn es ok ist lösche ich diese Datensätze dann mit
delete from s_media where id in (
select distinct id from s_media smo where smo.path in (select path from s_media group by path having count(path)>1 and group_concat(albumID order by albumid desc) like '-1,%') and smo.albumID=-13 order by path
);