Bugfix: KI-Wasserzeichen-Logo wird live nicht angewendet (verschachtelte imagor-URL wird gemangelt) #32

Closed
opened 2026-08-09 16:24:46 +00:00 by csaeum · 0 comments
Owner

Live-Test von v1.7.0 auf projektleder.de: Das Basisbild wird korrekt über imagor ausgeliefert, aber der watermark()-Filter greift nicht — kein Log-Eintrag in imagor für "watermark"/das Testbild, obwohl die generierte URL im Browser fehlerfrei lädt (nur ohne Logo).

Root Cause: ImagorUrlBuilder bettet eine zweite komplette https://-URL (den Logo-Resize-Aufruf) als Filter-Argument in watermark(...) ein. Diese verschachtelte absolute URL wird irgendwo zwischen Shopware und imagor gemangelt/entschärft (sichtbar an einer inkonsistenten %3A/%28-Kodierung im gerenderten <img src>, vermutlich weil das Muster "Funktion(https://...)" wie ein SSRF-/Injection-Versuch aussieht) — die Anfrage kommt nie mit intaktem Filter bei imagor an.

Fix:

  1. Kein verschachtelter imagor-Resize-Aufruf mehr im Filter-Argument — das Logo wird direkt referenziert (schema-los, wie das Hauptbild), kein w_ratio/h_ratio-Resize mehr nötig.
  2. Logo-Auswahl über Shopwares nativen Medien-Picker (sw-media-field-Component) statt Freitext-URL-Feld — Nutzer wählt das Logo direkt aus der Medienverwaltung.
  3. imagorBaseUrl von type="text" auf type="url" umgestellt (Shopware hat ein natives URL-Feld mit Validierung).
  4. imagorLogoWidth/-Height beschreiben jetzt die tatsächlichen Pixelmaße des hochgeladenen Logos (nur noch für die Text-Offset-Berechnung genutzt, kein Resize-Enforcement mehr) — Nutzer muss das Logo bereits in der gewünschten Zielgröße hochladen.
Live-Test von v1.7.0 auf projektleder.de: Das Basisbild wird korrekt über imagor ausgeliefert, aber der `watermark()`-Filter greift nicht — kein Log-Eintrag in imagor für "watermark"/das Testbild, obwohl die generierte URL im Browser fehlerfrei lädt (nur ohne Logo). **Root Cause:** `ImagorUrlBuilder` bettet eine zweite komplette `https://`-URL (den Logo-Resize-Aufruf) als Filter-Argument in `watermark(...)` ein. Diese verschachtelte absolute URL wird irgendwo zwischen Shopware und imagor gemangelt/entschärft (sichtbar an einer inkonsistenten `%3A`/`%28`-Kodierung im gerenderten `<img src>`, vermutlich weil das Muster "Funktion(https://...)" wie ein SSRF-/Injection-Versuch aussieht) — die Anfrage kommt nie mit intaktem Filter bei imagor an. **Fix:** 1. Kein verschachtelter imagor-Resize-Aufruf mehr im Filter-Argument — das Logo wird direkt referenziert (schema-los, wie das Hauptbild), kein `w_ratio`/`h_ratio`-Resize mehr nötig. 2. Logo-Auswahl über Shopwares nativen Medien-Picker (`sw-media-field`-Component) statt Freitext-URL-Feld — Nutzer wählt das Logo direkt aus der Medienverwaltung. 3. `imagorBaseUrl` von `type="text"` auf `type="url"` umgestellt (Shopware hat ein natives URL-Feld mit Validierung). 4. `imagorLogoWidth`/`-Height` beschreiben jetzt die tatsächlichen Pixelmaße des hochgeladenen Logos (nur noch für die Text-Offset-Berechnung genutzt, kein Resize-Enforcement mehr) — Nutzer muss das Logo bereits in der gewünschten Zielgröße hochladen.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
SW-Plugins/wsc_swplugin_aiseotools#32
No description provided.