Datei Upload
Ultimate.
Upload-Formulare direkt im Shop: per Drag & Drop abgelegt, serverseitig auf den echten Inhalt geprüft, privat gespeichert — und im Administrationsbereich übersichtlich verwaltet. Bewerbungen, Druckdaten, Belege und Reklamationsfotos landen dort, wo sie hingehören.
Alle Funktionen
im Überblick.
Formular-Baukasten
Beliebig viele Formulare mit zehn Feldtypen — von Text und Datum bis Auswahlliste. Felder per Drag & Drop sortieren, Pflicht oder optional, jedes Formular mit eigenen Texten, Empfängern und Limits.
Drag-&-Drop-Upload
Die Dropzone meldet falsche Typen und zu große Dateien schon vor dem Absenden — verständlich und je Datei. Auf Wunsch mit Fortschrittsbalken beim Ablegen.
Geprüft wird der Inhalt
Der Server verlässt sich nicht auf die Dateiendung: Jede Datei wird auf ihren echten Inhalt geprüft. Eine Programmdatei, die als „foto.jpg“ hochgeladen wird, fliegt raus.
Whitelist & Limits
Feste Whitelist von 14 geprüften Endungen; je Formular legen Sie Endungen, maximale Anzahl und Größe je Datei fest. Wirksam ist immer die Schnittmenge — ein Tippfehler hebelt die Sicherheitsprüfung nie aus.
Privater Speicher
Hochgeladene Dateien haben keine öffentliche URL und sind von außen nicht erreichbar. Download nur über die Administration — und gespeichert wird erst, wenn alle Dateien die Prüfung bestehen.
E-Mail-Versand
Benachrichtigung mit allen Dateien als Anhang, auf Wunsch mit Kundenkopie als Eingangsbestätigung. Die Adresse des Einsenders ist als Antwortadresse gesetzt — Sie antworten direkt aus dem Postfach.
Einsendungen verwalten
Alle Anfragen in einer zentralen Übersicht: Feld-Schnappschuss, Dateien einzeln oder gesammelt als ZIP herunterladen. Der Zugriff ist über Benutzerrollen steuerbar.
Einwilligung & Datenschutz
Die Einwilligungs-Checkbox ist nie vorangehakt; jede Einsendung speichert Text und Stand als Schnappschuss. Keine IP-Speicherung, automatische Löschfrist per Hintergrund-Task.
Spam-Schutz in drei Stufen
Honeypot immer aktiv, dazu wahlweise Shopwares Standard-Captchas oder Cloudflare Turnstile mit serverseitiger Prüfung. Echte Kunden verlieren nie ihre Eingaben.
Dokumentation.
1. Einleitung
Kunden möchten Ihnen Dateien schicken: Bewerbungen, Druckdaten, Belege, Reklamationsfotos. Ohne passendes Formular landet all das als E-Mail-Pingpong im Postfach — oder bleibt ganz aus. Datei Upload Ultimate bringt Upload-Formulare direkt in Ihren Shop: per Drag & Drop hochgeladen, serverseitig geprüft, übersichtlich verwaltet.
Sie bauen Ihre Formulare einmal im Administrationsbereich zusammen und platzieren sie als Element in Ihren Erlebniswelten — oder verlinken sie über ihre eigene Adresse. Jede Einsendung erscheint in einer zentralen Übersicht und zusätzlich per E-Mail, auf Wunsch mit allen Dateien als Anhang.
Systemanforderungen: Shopware 6.7.0 oder neuer, PHP 8.2 oder neuer. Deutsch und Englisch sind enthalten; Validierungsmeldungen nutzen Shopwares übersetzbare Standard-Texte. Das Theme ist beliebig — das Plugin bringt seine Storefront-Bausteine selbst mit. Technischer Name: BmaniaDocumentUpload.
2. In fünf Minuten startklar
Installation:
- bin/console plugin:refresh
- bin/console plugin:install --activate BmaniaDocumentUpload
- bin/console cache:clear
Alternativ laden Sie das ZIP-Archiv im Administrationsbereich unter Erweiterungen › Meine Erweiterungen › Erweiterung hochladen hoch, installieren und aktivieren es dort.
Die ersten Schritte:
- Formular öffnen: Unter Inhalte › Formulare liegt bereits ein Standard-Kontaktformular mit Datei-Upload — passen Sie es an oder legen Sie ein neues an (Kapitel 4).
- Empfänger prüfen: Hinterlegen Sie die Empfänger-E-Mail des Formulars. Bleibt sie leer, nutzt das Plugin die Shop-E-Mail-Adresse aus Ihren Grundeinstellungen (Kapitel 5).
- Formular platzieren: Fügen Sie das Element „Formular (Dokumenten-Upload)“ in eine Erlebniswelt ein — oder verlinken Sie die eigene Formular-Adresse (Kapitel 9).
- Testen: Senden Sie in der Storefront eine Einsendung mit Datei ab und gehen Sie danach die Kontrollrunde (Kapitel 14).
3. Wie das Plugin denkt
Formular, Felder, Einsendung. Alles im Plugin folgt drei Bausteinen: Das Formular setzt den Rahmen — Texte, Empfänger, Upload-Regeln. Die Felder bestimmen, was abgefragt wird (Kapitel 7). Jede abgeschickte Einsendung friert den Moment ein: Sie speichert die Feldwerte und den Einwilligungstext samt Stand als Schnappschuss. Ändern Sie das Formular später, bleiben alte Einsendungen unverändert — Sie können immer belegen, was der Kunde damals gesehen hat.
Das Schnittmengen-Prinzip bei Dateiendungen. Das Plugin kennt eine feste Whitelist von 14 geprüften Dateiendungen (Kapitel 6). Je Formular tragen Sie ein, welche Endungen Sie zulassen möchten. Wirksam ist immer die Schnittmenge aus beidem: Was nicht auf der Whitelist steht, bleibt draußen — egal, was im Formular eingetragen ist. Ein Tippfehler in der Endungsliste kann die Sicherheitsprüfung also nie aushebeln. Lassen Sie das Feld leer, gilt die bewährte Standardauswahl.
Privater Speicher:
- Keine öffentliche URL: Hochgeladene Dateien liegen im privaten Dateisystem des Shops und sind von außen nicht erreichbar.
- Download nur über die Administration: Wer Dateien sehen will, braucht ein Admin-Konto mit der passenden Berechtigung (Kapitel 10).
- Alles oder nichts: Erst wenn alle Dateien einer Einsendung die Prüfung bestehen, wird gespeichert — fehlerhafte Uploads hinterlassen keine Reste.
4. Formulare anlegen
Sie verwalten Ihre Formulare unter Inhalte › Formulare. Legen Sie beliebig viele an — etwa eines für Bewerbungen, eines für Reklamationen und eines für Druckdaten. Jedes Formular hat eigene Felder, Texte und Limits.
Stammdaten:
- Name: Interner Name im Admin. Dient zugleich als Betreff der Benachrichtigung, wenn kein eigener Betreff gesetzt ist (Pflicht).
- URL-Kürzel: Bestimmt die eigene Adresse des Formulars: /formular/IHR-KUERZEL (Pflicht, Kapitel 9).
- Aktiv: Nur aktive Formulare werden in der Storefront ausgeliefert (Standard: an).
- Titel: Überschrift über dem Formular in der Storefront.
- Einleitungstext: Freitext zwischen Titel und Feldern — erklären Sie hier, was der Kunde einreichen soll.
- Infobox-Farben: Eigene Farben für die Hinweisbox des Formulars. Leer gelassen greift ein dezenter Standard.
5. E-Mail-Versand
Die Benachrichtigung an Sie:
- Empfänger-E-Mail: Postfach, das die Einsendung erhält. Leer gelassen greift die Shop-E-Mail-Adresse aus den Grundeinstellungen.
- E-Mail-Betreff: Fester Betreff der Benachrichtigung. Leer gelassen wird der Formularname verwendet.
- Dateien anhängen: Hängt die hochgeladenen Dateien direkt an die Benachrichtigung an (Standard: an).
- Kundenkopie: Keine, auf Anfrage (der Kunde hakt eine Checkbox an) oder automatisch als Eingangsbestätigung (Standard: keine).
Jede Benachrichtigung trägt die E-Mail-Adresse des Einsenders als Antwortadresse — Sie antworten dem Kunden direkt aus Ihrem Postfach, ohne die Adresse abzutippen. Die Kundenkopie geht an die Adresse aus dem festen E-Mail-Feld der Einsendung, als Absendername erscheint Ihr Shopname.
6. Upload-Regeln
Limits je Formular:
- Erlaubte Dateiendungen: Kommagetrennte Liste; wirksam ist die Schnittmenge mit der Whitelist (Kapitel 3). Standard: pdf, jpg, jpeg, png, docx, xlsx, txt, csv, webp.
- Max. Anzahl Dateien: Obergrenze je Einsendung (Standard: 5).
- Max. Größe je Datei (MB): Obergrenze je einzelner Datei (Standard: 10).
Die 14 geprüften Endungen: pdf, jpg, jpeg, png, gif, webp, heic, doc, docx, xls, xlsx, txt, csv und zip. Nur diese Endungen kann ein Formular überhaupt zulassen. gif, heic, doc, xls und zip sind bewusst nicht im Standard enthalten — wer sie braucht, trägt sie ausdrücklich in die Endungsliste des Formulars ein.
Geprüft wird der Inhalt, nicht der Name: Der Server verlässt sich nicht auf die Dateiendung: Jede Datei wird auf ihren echten Inhalt geprüft. Eine Programmdatei, die als „foto.jpg“ hochgeladen wird, fliegt raus — der Inhalt passt nicht zur Endung. Die Dropzone in der Storefront meldet falsche Typen und zu große Dateien schon vor dem Absenden, verständlich und je Datei.
7. Der Feld-Baukasten
Jedes Formular bringt sechs Standard-Felder mit: Name, E-Mail, Betreff, Nachricht, Dokumente und Einwilligung. Die drei hervorgehobenen sind Pflicht und lassen sich nicht löschen — sie sichern, dass Sie jedem Einsender antworten können und keine Einsendung ohne Zustimmung ankommt. Alle übrigen Felder gestalten Sie frei: hinzufügen, entfernen, per Drag & Drop sortieren, Pflicht oder optional.
Die zehn Feldtypen:
- Text: einzeilige Angaben — Name, Firma, Bestellnummer.
- Textbereich: mehrzeilige Nachricht oder Beschreibung.
- E-Mail: E-Mail-Adresse mit Formatprüfung.
- Telefon: Rufnummer für Rückfragen.
- Zahl: numerischer Wert; Minimum, Maximum und Schrittweite einstellbar.
- Datum: Datumsauswahl — etwa der gewünschte Liefertermin.
- Auswahl: Ausklappliste mit eigenen Optionen.
- Checkbox: Ja/Nein-Bestätigung.
- Überschrift: gliedert lange Formulare in Abschnitte — kein Eingabefeld.
- Datei-Upload: die Dropzone; Regeln dafür setzt das Formular (Kapitel 6).
Pflichtfelder markiert die Storefront automatisch; die Prüfmeldungen kommen aus Shopwares übersetzten Standard-Texten und erscheinen in der Sprache des Kunden.
8. Einwilligung und Datenschutz
Ohne Häkchen geht nichts: Die Einwilligungs-Checkbox ist nie vorangehakt, und erst mit der aktiven Zustimmung des Kunden werden Angaben und Dateien übermittelt. Das Plugin speichert keine IP-Adressen.
Die Einstellungen je Formular:
- Einwilligungstext: Text neben der Checkbox. Leer gelassen greift ein mitgelieferter Standardtext in der Shopsprache.
- Stand der Einwilligung: Datum, an dem der aktuelle Text in Kraft trat — per Datumsauswahl gepflegt (Standard: heutiges Datum).
- Link zur Datenschutzerklärung: wird im Einwilligungstext verlinkt.
Der Einwilligungs-Schnappschuss: Jede Einsendung speichert den Einwilligungstext, dessen Stand und den Zeitpunkt der Zustimmung. So können Sie auch Monate später belegen, welcher Text galt, als der Kunde zustimmte — unabhängig davon, wie das Formular heute aussieht.
9. In die Storefront einbinden
Als Element in Erlebniswelten:
- Erlebniswelt öffnen: unter Inhalte › Erlebniswelten die gewünschte Seite bearbeiten.
- Element einfügen: den Block bzw. das Element „Formular (Dokumenten-Upload)“ an die gewünschte Stelle ziehen.
- Formular wählen: im Element das passende Formular auswählen — es erscheint mit Titel, Einleitungstext und allen Feldern.
- Zuweisen und Cache leeren: die Erlebniswelt dem Verkaufskanal zuweisen, danach den Cache leeren.
Über die eigene Adresse: Jedes Formular ist zusätzlich unter /formular/IHR-KUERZEL erreichbar — das Kürzel bestimmen Sie in den Stammdaten (Kapitel 4). Die Adresse eignet sich für Menüpunkte, Newsletter oder QR-Codes auf Beilegern, ganz ohne Erlebniswelt.
10. Einsendungen verwalten
Alle Einsendungen sammelt das Plugin unter Inhalte › Formular-Einsendungen. Die Liste zeigt auf einen Blick, wer wann über welches Formular eingesendet hat — auch wenn die Benachrichtigungs-Mail einmal im Spam-Ordner landet, geht hier nichts verloren.
Die Detailansicht:
- Feld-Schnappschuss: alle Angaben des Kunden, exakt wie zum Zeitpunkt der Einsendung — inklusive Einwilligungstext und Stand (Kapitel 8).
- Dateien einzeln laden: jede hochgeladene Datei lässt sich direkt aus der Detailansicht herunterladen.
- Alles herunterladen: ein Klick packt sämtliche Anhänge der Einsendung in ein ZIP-Archiv — praktisch bei Bewerbungen mit mehreren Unterlagen.
Zugriff und Rechte: Der Zugriff auf Einsendungen und Downloads ist an die Admin-Berechtigung für Formular-Einsendungen gebunden. Vergeben Sie die Rechte über Ihre Benutzerrollen unter Einstellungen › Benutzer & Rechte — so sehen nur die Kollegen Einsendungen, die sie auch bearbeiten.
11. Die Plugin-Konfiguration
Die globalen Einstellungen erreichen Sie unter Erweiterungen › Meine Erweiterungen › Datei Upload Ultimate › Konfiguration. Sie gelten für alle Formulare und lassen sich je Verkaufskanal übersteuern.
Alle Einstellungen:
- Löschfrist in Tagen: Einsendungen samt Dateien werden nach Ablauf automatisch gelöscht (Kapitel 13). 0 schaltet die Frist ab (Standard: 0).
- Fortschrittsanzeige: zeigt beim Ablegen von Dateien einen Fortschrittsbalken in der Dropzone (Standard: an).
- Spam-Schutz-System: kein zusätzlicher Schutz, Shopware-Captchas oder Cloudflare Turnstile (Kapitel 12; Standard: kein zusätzlicher).
- Turnstile Site Key: öffentlicher Schlüssel aus Ihrem Cloudflare-Konto — nur bei Turnstile nötig.
- Turnstile Secret Key: geheimer Schlüssel für die serverseitige Prüfung — wird nie an den Browser gegeben.
12. Spam-Schutz im Detail
Der Grundschutz: Honeypot. Ein unsichtbares Fangfeld ist in jedem Formular aktiv — unabhängig von der Konfiguration. Menschen sehen es nicht, Spam-Bots füllen es aus und werden still abgewiesen. Dieser Schutz kostet Ihre Kunden nichts: kein Rätsel, kein Klick.
Stufe zwei: Shopware-Captchas. Die Einstellung „Shopware standard captchas“ übernimmt die Captchas, die Sie in Shopwares Grundeinstellungen für Ihre Formulare aktiviert haben — vom einfachen Bild-Captcha bis zu Google reCAPTCHA v2 und v3. Das Plugin braucht dafür keine eigenen Schlüssel; es gilt, was im Shop ohnehin konfiguriert ist.
Stufe drei: Cloudflare Turnstile. Turnstile prüft Einsendungen serverseitig bei Cloudflare — meist ganz ohne sichtbares Rätsel. Tragen Sie Site Key und Secret Key in der Plugin-Konfiguration ein (Kapitel 11). Die Prüfung ist bewusst streng: Ohne gültige Bestätigung wird die Einsendung abgewiesen — auch wenn Cloudflare einmal nicht erreichbar ist. Sicherheit geht vor Bequemlichkeit.
13. Betrieb: Sprachen, Löschfrist, Deinstallation
Sprachen: Deutsch und Englisch sind enthalten — Oberfläche, Storefront-Texte und der Standard-Einwilligungstext. Die Feld-Prüfmeldungen nutzen Shopwares Standard-Texte und erscheinen damit in jeder Sprache, für die ein Sprachpaket installiert ist. Eigene Formular-Texte pflegen Sie je Sprache über die Sprachauswahl im Admin.
Die automatische Löschfrist: Ist eine Löschfrist gesetzt (Kapitel 11), räumt ein täglicher Hintergrund-Task auf: Einsendungen, die älter sind als die Frist, werden samt aller Dateien endgültig gelöscht. Voraussetzung ist, dass die geplanten Aufgaben Ihres Shops laufen — in Standard-Installationen ist das der Fall. Der Task heißt bmania_document_upload.retention, falls Sie ihn in der Aufgabenübersicht suchen.
Updates: Updates spielen Sie wie gewohnt über Erweiterungen › Meine Erweiterungen ein. Ihre Formulare, Felder und Einsendungen bleiben dabei erhalten; nach dem Update einmal den Cache leeren.
Deinstallation: Beim Deinstallieren fragt Shopware, ob die Plugin-Daten erhalten bleiben sollen. Mit „Daten behalten“ überstehen Formulare und Einsendungen eine Neuinstallation. Ohne diese Option räumt das Plugin restlos auf — alle Formulare, Einsendungen und hochgeladenen Dateien werden endgültig entfernt.
14. Ihre Prüfpflicht: die Kontrollrunde
Die Runde nach der Einrichtung:
- Testeinsendung abschicken: in der Storefront mit mindestens einer Datei — kommt die Erfolgsmeldung?
- Postfach prüfen: Ist die Benachrichtigung angekommen, stimmen Empfänger und Betreff? Auch den Spam-Ordner ansehen.
- Download öffnen: die Testdatei in der Einsendungs-Übersicht herunterladen und öffnen (Kapitel 10).
- Einwilligung lesen: Passt der Text zu Ihrer aktuellen Datenschutzerklärung, stimmt der Link, ist der Stand korrekt datiert (Kapitel 8)?
- Löschfrist abgleichen: Deckt sich die Frist (Kapitel 11) mit dem, was Ihre Datenschutzerklärung verspricht?
- Mobil testen: Formular und Dropzone auf einem echten Smartphone ausprobieren, nicht nur in der Browser-Vorschau.
Wiederholen Sie die Runde nach jeder inhaltlichen Änderung an Formular, Einwilligungstext oder Löschfrist.
15. Häufige Fragen (FAQ)
Ich sehe das Formular in der Storefront nicht. Woran liegt das? Meist an einem von drei Schaltern: Das Formular steht nicht auf Aktiv, die Erlebniswelt ist dem Verkaufskanal nicht zugewiesen, oder der Cache ist veraltet. In dieser Reihenfolge prüfen — danach neu laden.
Eine Datei wird abgelehnt, obwohl ihre Endung erlaubt ist. Warum? Der Server prüft den echten Inhalt, nicht den Namen. Die Datei ist vermutlich nicht, was ihre Endung behauptet — etwa ein umbenanntes Format. Der Kunde muss die Datei im richtigen Format exportieren.
Ich möchte ZIP-Dateien annehmen. Geht das? Ja. Tragen Sie „zip“ in die erlaubten Dateiendungen des Formulars ein. ZIP ist bewusst nicht im Standard, weil Archive ihren Inhalt verbergen — nehmen Sie sie nur an, wo Sie sie wirklich brauchen.
Die Benachrichtigungs-Mail kommt nicht an. Was nun? Die Einsendung selbst finden Sie immer unter Inhalte › Formular-Einsendungen — es geht nichts verloren. Prüfen Sie dann die Empfänger-E-Mail des Formulars (leer = Shop-Adresse), den Spam-Ordner und den Mailversand Ihres Shops.
Kann der Kunde seine Dateien später selbst abrufen? Nein. Hochgeladene Dateien liegen im privaten Speicher und sind nur für Admin-Konten mit Berechtigung erreichbar. Möchten Sie dem Kunden etwas zurückgeben, antworten Sie auf die Benachrichtigung — seine Adresse ist als Antwortadresse gesetzt.
Wo bekomme ich Hilfe? Über den Support-Kontakt im Shopware-Account oder direkt bei der Gründerkind GmbH. Halten Sie Shopware-Version, Plugin-Version und den Namen des betroffenen Formulars bereit.