CDN Product Images
CDN-Bilder für Sylius Produkte und Taxonomien - mm-media-cdn-URLs statt lokalem Upload, automatisch pro Kontext frisch signiert.
CDN Product Images
Diese Dokumentation bezieht sich immer auf die aktuellste veröffentlichte Version.
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Überblick
CDN Product Images lässt Admins ein Produktbild oder ein Taxon-(Kategorie-)Bild statt per Datei-Upload per URL auf einen mm-media-cdn-Server (MinIO + imgproxy + nginx-Cache) referenzieren - und bekommt trotzdem für jeden Anzeige-Kontext (Produkt-Thumbnail, Großbild, Admin-Vorschau, ...) eine frisch passend zugeschnittene Bildgröße, statt überall dieselbe feste Auflösung.
Datenschutz/Architektur: Das Plugin speichert kein eigenes imgproxy-Geheimnis - es hält nur ein auf die Signing-API beschränktes Bearer-Token, das Sylius-Admin selbst einträgt.
graph LR
A["Admin fügt CDN-Bild-URL ein"] --> B["ProductImage / TaxonImage Pfad"]
B --> C{"Renderanfrage"}
C --> D["Storefront / Admin Twig"]
C --> E["Shop API"]
D --> F["mm-media-cdn Signing Service"]
E --> F
F --> G["Frisch signierte, kontextgenaue URL"]
Dokumentation
| Seite | Inhalt |
|---|---|
| Installation | Composer, Bundle, Routen, Setup-Command, Update |
| Konfiguration | CDN-Zugangsdaten im Admin, Praxisbeispiele |
| Shop API | Verhalten der Headless/API-Platform-Bildauslieferung |
| Admin API | Bilder per Admin-API mit cdnUrl anlegen |
| Fehlerbehebung | Bekannte Probleme, Einschränkungen, FAQ |
| Technik | Architektur, Entscheidungslogik, Caching |
Features
| Feature | Beschreibung |
|---|---|
| CDN-Bild-URL statt Upload | Admin trägt eine http(s)-URL statt einer Datei ein - für Produktbilder und Taxon-Bilder |
| Anlage per Admin-API | Externe Clients legen Bilder per cdnUrl statt Datei-Upload an, mit denselben Regeln wie im Formular |
| Kontextgenaues Resizing | Jede Sylius-Imagine-Filtergröße wird 1:1 auf eine imgproxy-Resize-Option gemappt, inkl. WebP und Qualität 80 |
| Dual-Mode | Funktioniert identisch auf Twig-Storefront/Admin und im headless Shop-API-Kanal |
| Sicheres Signing | Signatur läuft über mm-media-cdn's eigenen signing/-Microservice - das Plugin hält nie den rohen imgproxy-Schlüssel |
| Verschlüsselte Zugangsdaten | Das Signing-Token liegt verschlüsselt in der Datenbank, ableitbar nur aus APP_SECRET |
| Ausfallsicher | Fremde URLs, ein nicht konfiguriertes Plugin oder ein Signing-Fehler führen nie zu einem kaputten Bild, nur zu einer nicht optimierten URL |
Anforderungen
| Anforderung | Version | Hinweise |
|---|---|---|
| Sylius | ^2.2.7 | |
| PHP | ^8.3 | inkl. Extension sodium (für die Token-Verschlüsselung) |
| Symfony | ^7.4 | |
| LiipImagineBundle | ^2.7 | wird dekoriert, keine eigene Konfiguration nötig |
| mm-media-cdn | - | eigener Server mit Signing-Microservice, separat betrieben |
Lizenz
Kommerzielle Lizenz: eine Sylius-Installation (alle Channels, plus Entwicklungs-/Staging-Umgebungen) pro Lizenz, keine Weitergabe, Updates für 12 Monate ab Kauf.
Support
E-Mail: support@markus-michalski.net