> 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"](/files/bw8yl9l86fTJK9HNL7Jp)

## 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 – kein HTTP-Timeout, auch bei sehr großen Mediatheken. 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](/files/tAKjf4T5rWeqzgsb0UpL)

### 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](/files/AxiHCx1AqqetJSDqINYV)

### 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](/files/MiUU6RFcR1zRQ5ZZlRly)

### 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 (erfordert einen laufenden Worker)              |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.momocode.de/shopware-6/mediathek-aufraeumer/1.-beschreibung.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
