Plugin-Dokumentation · JTL-Shop 5
Datenblätter und Produkt-Downloads — Konfiguration & Bedienung
Alle Einstellungen im Detail sowie Hinweise zu CSV-Massenzuordnung, Sicherheit und Grenzen.
Einstellungen
Zu finden unter Plugins → Datenblätter und Produkt-Downloads → Einstellungen:
| Einstellung | Standard | Wirkung |
|---|---|---|
| Plugin aktivieren | Aktiviert | Schaltet die Downloads-Box und den Download-Handler im Frontend an oder aus. Die Verwaltung im Admin bleibt immer erreichbar. |
| Überschrift der Downloads-Box | „Downloads“ | Überschrift, die über der Datei-Liste auf der Produktseite angezeigt wird. |
| CSS-Selektor für die Einfüge-Position | .product-detail | Die Downloads-Box wird an das erste Element angehängt, das diesem CSS-Selektor entspricht (passend zum NOVA-Template). Fällt automatisch auf .product-detail, #content und body zurück. |
| Maximale Dateigröße (MB) | 20 | Maximal erlaubte Größe je Upload in Megabyte (1 bis 512). PHP-Limits upload_max_filesize und post_max_size gelten zusätzlich. |
| Dateien des Vater-Artikels bei Varianten anzeigen | Ja | Zeigt bei Variationskind-Artikeln zusätzlich die Dateien, die der Artikelnummer des Vater-Artikels zugeordnet sind. |
Dateien verwalten und CSV-Massenzuordnung
Unter Downloads verwalten laden Sie Dateien (PDF, ZIP, PNG, JPG) hoch, vergeben Titel und Typ (Datenblatt / Anleitung / Sicherheitsdatenblatt / Konformitätserklärung / Sonstiges) und ordnen sie einer oder mehreren Artikelnummern zu (n:m — eine Datei für beliebig viele Artikel).
Für größere Mengen steht eine CSV-Massenzuordnung zur Verfügung, Format je Zeile (Semikolon-getrennt, optionale Kopfzeile wird erkannt):
cArtNr;dateiname;titel;typ ART-1001;sdb_reiniger.pdf;Sicherheitsdatenblatt Reiniger;sdb ART-1002;sdb_reiniger.pdf;;sdb
titel und typ sind optional (erlaubte Typen: datenblatt, anleitung, sdb, konformitaet, sonstiges, Standard sonstiges). dateiname verweist entweder auf den Original-Namen einer bereits hochgeladenen Datei oder auf eine per FTP in plugins/webpowers_product_downloads/uploads/ abgelegte Datei — FTP-Dateien werden beim Import validiert (Whitelist, MIME, Größe). Die Artikelnummer muss im Shop existieren, sonst meldet der Zeilen-Report einen Fehler und die Zeile wird übersprungen. Maximal 2000 Zeilen je Durchgang, CSV-Datei maximal 1 MB.
Sicherheit
Upload-Whitelist: pdf, zip, png, jpg, jpeg; Inhalt wird per finfo gegen die Endung geprüft (eine umbenannte .php wird abgelehnt). Gespeicherte Dateien erhalten zufällige Namen, Original-Name und MIME-Typ stehen nur in der Datenbank. Der Upload-Ordner ist per .htaccess gesperrt; Auslieferung erfolgt ausschließlich über den Download-Handler mit Realpath-Prüfung gegen Verzeichnis-Traversal. Nur Dateien, die aktuell mindestens einem Artikel zugeordnet sind, werden ausgeliefert — Zuordnung entfernt bedeutet Datei weg vom Kunden (der Datensatz selbst bleibt aber bestehen, bis Sie die Datei löschen).
Ehrliche Grenzen
- Nginx-Hosting:
.htaccesswirkt nur unter Apache/LiteSpeed. Unter Nginx muss der Ordnerplugins/webpowers_product_downloads/uploads/in der Server-Konfiguration gesperrt werden (location ... { deny all; }). - Variantenwechsel per AJAX: Die Box wird beim Seitenaufbau gerendert. Wechselt der Kunde die Variante ohne Seiten-Reload, aktualisiert sich die Box nicht — Empfehlung: Dateien dem Vater-Artikel zuordnen.
- Kein Wawi-Sync: Das Plugin verwaltet Dateien nur im Shop; es synchronisiert nichts mit JTL-Wawi oder Marktplätzen.
- Template-Abhängigkeit: Die Einfüge-Position basiert auf CSS-Selektoren des Templates (Standard NOVA).
- Die Download-Statistik zählt Abrufe (inklusive Bots), keine eindeutigen Besucher.
- Das Plugin prüft nicht, ob Dokumente inhaltlich vollständig oder rechtlich korrekt sind — welche Unterlagen für Ihre Produkte nötig sind (z. B. im GPSR-Kontext), klären Sie mit Ihrer Rechtsberatung.
Häufige Fragen
Warum sehe ich die Downloads-Box nicht?
Plugin aktiv? Datei der exakten Artikelnummer zugeordnet? Template-Cache geleert? Bei abweichendem Template den CSS-Selektor prüfen.
Welche Dateitypen sind erlaubt?
PDF, ZIP, PNG, JPG/JPEG. Andere Typen lehnt der Upload ab.
Was passiert bei der Deinstallation?
Mit „Daten löschen" werden beide Tabellen und alle Dateien im Upload-Ordner entfernt. Ohne „Daten löschen" bleiben sie erhalten.
Support
webpowers UG (haftungsbeschränkt) · Hillenbrandstr. 9, 86156 Augsburg · E-Mail: max@webpowers.org
