> For the complete documentation index, see [llms.txt](https://docs.momocode.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.momocode.de/shopware-6/mediathek-aufraeumer/1.-beschreibung.md).

# 1. Beschreibung

In jedem Shopware-Shop sammeln sich über die Zeit ungenutzte Mediendateien an – besonders nach Produktimporten, Layout-Überarbeitungen oder dem Wechsel von Hersteller-Logos. Shopware bietet zwar den CLI-Befehl `media:delete-unused`, dieser ist jedoch für die meisten Shop-Betreiber ohne Serverzugang nicht nutzbar.

Der **Mediathek-Aufräumer** bringt diese Funktionalität direkt in die Shopware-Administration: als visuelles Dashboard, das ungenutzte Mediendateien sicher erkennt, anzeigt und löscht – ganz ohne Kommandozeilen-Kenntnisse.

![Startansicht mit Schaltfläche „Scan starten"](https://2916094232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtiS3-dzuXFp_IH7yRw-887967055%2Fuploads%2Fgit-blob-914196f1cd4f053cbf5cb9367caca8c1cc3973c2%2F1.png?alt=media)

## Funktionen im Überblick

### Dashboard mit Dateiliste

Das Dashboard zeigt alle ungenutzten Mediendateien in einer paginierten Liste an – mit Vorschaubild (oder Dateityp-Icon für PDFs, Videos usw.), Dateiname, Typ, Größe und Upload-Datum. Eine Zusammenfassungsleiste am oberen Rand zeigt die Gesamtanzahl und den kombinierten Speicherbedarf auf einen Blick.

### Asynchroner Hintergrund-Scan

Ab Version 1.1 / 2.1 läuft der Scan asynchron im Hintergrund über die Message Queue von Shopware und wird in kleine Pakete aufgeteilt – kein HTTP-Timeout, auch bei sehr großen Mediatheken. Im Standard-Setup verarbeitet der Admin-Worker den Scan, solange die Administration geöffnet ist; für große Mediatheken empfehlen wir einen CLI-Worker (siehe **Installationsanleitung → Hintergrundverarbeitung des Scans**). Während des Scans zeigt das Dashboard an, wie viele Medien bereits geprüft und wie viele ungenutzte Medien bisher gefunden wurden. Verarbeitet kein Worker die Warteschlange, erscheint nach 2 Minuten ein Hinweis; ein Scan ohne Fortschritt wird nach 10 Minuten mit einer Fehlermeldung beendet und kann erneut gestartet werden. Sie sehen die Ergebnisse direkt nach Abschluss des Scans. Die Ergebnisse werden bis zu 4 Stunden gecacht: Seitennavigation und Löschvorgänge lösen keinen erneuten vollständigen Scan aus. Über den Button **Erneut scannen** können die Ergebnisse jederzeit auf Knopfdruck aktualisiert werden.

![Ergebnisliste mit ungenutzten Mediendateien nach dem Scan](https://2916094232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtiS3-dzuXFp_IH7yRw-887967055%2Fuploads%2Fgit-blob-b049306246ff59b72aa3732079318d11a863f690%2F2.png?alt=media)

### Massenauswahl und sicheres Löschen

Wählen Sie einzelne Dateien per Checkbox aus oder nutzen Sie „Alle auswählen" – auch seitenübergreifend. Vor jeder Löschung erscheint ein Bestätigungsdialog mit Anzahl der Dateien und Gesamtgröße. Während des Löschvorgangs wird eine Fortschrittsanzeige eingeblendet; das Ergebnis (gelöscht / übersprungen / fehlgeschlagen) wird danach detailliert angezeigt.

Zusätzlich prüft das Plugin unmittelbar vor jeder Löschung in Echtzeit, ob eine Datei seit dem Scan wieder in Verwendung genommen wurde – so werden keine aktiv genutzten Dateien gelöscht.

![Bestätigungsdialog vor dem Löschen](https://2916094232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtiS3-dzuXFp_IH7yRw-887967055%2Fuploads%2Fgit-blob-10c9316f83aafcbb4eca2a13587b6ed3a09f063a%2F3.png?alt=media)

### Filter und Sortierung

Filtern Sie die Liste nach Dateityp (Bild, Video, Dokument, Sonstiges), Mindestdateigröße oder Upload-Alter. Sortieren Sie nach Dateiname, Dateigröße oder Datum – auf- oder absteigend. Ein Klick setzt alle aktiven Filter zurück.

![Filter nach Dateityp „Bild" aktiv](https://2916094232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtiS3-dzuXFp_IH7yRw-887967055%2Fuploads%2Fgit-blob-b311c1517f5e4af63827ddd177c3e45a27a9218e%2F4.png?alt=media)

### Benutzerrechte (ACL)

Das Plugin fügt zwei separate Berechtigungen hinzu:

* **momo\_media\_cleanup:read** – Zugriff auf das Dashboard und die Liste der ungenutzten Dateien
* **momo\_media\_cleanup:delete** – Berechtigung zum Löschen ungenutzter Mediendateien

Mitarbeiter können die Liste einsehen, ohne Löschrechte zu benötigen.

## Technische Details

| Eigenschaft             | Wert                                                                                                                                                                      |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Shopware-Kompatibilität | 6.6.x und 6.7.x                                                                                                                                                           |
| PHP                     | 8.2+                                                                                                                                                                      |
| Externe Dienste         | Keine – das Plugin kommuniziert ausschließlich mit der eigenen Shopware-Instanz                                                                                           |
| Datenbankmigrationen    | Keine – das Plugin erstellt keine eigenen Tabellen                                                                                                                        |
| Hintergrund-Scan        | Asynchron via Symfony Messenger in kleinen Paketen – verarbeitet vom Admin-Worker (bei geöffneter Administration) oder einem CLI-Worker (empfohlen für große Mediatheken) |
