KI-Bildkennzeichnung 3/6: Remote-Thumbnail-Hook (ResolveRemoteThumbnailUrlExtension) + ImagorUrlBuilder #6
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Teil 3 von 6 der Serie "KI-Bildkennzeichnung" (Art. 50 Abs. 4 KI-VO). Baut auf #4 auf (braucht
ai_status/ai_type).Ziel
Thumbnail-URLs (srcset) für KI-markierte Bilder über imagor mit Text-Wasserzeichen ausliefern, statt Shopwares lokaler PHP-Bildkomposition.
Verifizierte Shopware-Core-API (Version 6.7.10.2, doppelt geprüft: Quellcode + developer.shopware.com)
Shopware\Core\Content\Media\Extension\ResolveRemoteThumbnailUrlExtension, Extension-Nameremote_thumbnail_url.resolve, verfügbar seit 6.7.1.0MediaUrlLoader/RemoteThumbnailLoaderausgelöst, sobaldshopware.media.remote_thumbnails.enable = trueist (siehe #9, separates Repo)EventSubscriberInterface, NICHT als klassisches Symfony-Event, sondern über:$event->mediaEntity(TypMediaEntity|PartialEntity— Guard überinstanceof MediaEntitybzw.has('customFields'), daPartialEntitykeinegetCustomFields()-Methode hat)$event->resultMUSS$event->stopPropagation()aufgerufen werden — sonst überschreibt Shopwares Standard-Pattern-Ersetzung das Ergebnis wieder (im Core-Code bestätigt)Komponenten
src/Service/ImagorUrlBuilder.php— einzige Stelle, die aus (Quell-URL, Breite, Höhe,ai_status,ai_type) die fertige imagor-URL baut. Watermark-Ansatz: imagorslabel()-Filter mit deutschem Klartext ("KI-generiert" / "KI-verändert", je nachai_type), halbtransparenter Hintergrund, Position unten links. Ohneai_status→ reine imagor-Resize-URL ohne Filter.config.xml-KarteimagorBaseUrl(Sales-Channel-scopedSystemConfigService-Eintrag, exakt nach dem bestehendendebugLoggingEnabled-Muster in diesem Plugin)src/Subscriber/RemoteThumbnailUrlSubscriber.phpwie oben beschriebenAkzeptanzkriterien
ImagorUrlBuilderper PHPUnit isoliert getestet (kein echtes imagor nötig)shopware.media.remote_thumbnails.enable = true(lokal in DDEV-Config aktiviert):srcset-Thumbnails von KI-markierten Bildern zeigen auf imagor-URLs mit Label-Filterai_statusliefern unveränderte imagor-URLs ohne Filter