Wieso werden einige Grafiken in Shopware nicht vom CDN ausgeliefert?
Das creoline® CDN liefert Bilder über eine Manipulation des Shopware Media Managers aus. Sowohl Shopware 5 als auch Shopware 6 arbeiten mit einer dynamischen Generierung der Bild-URLs, sodass die tatsächliche Bild-URL beim Aufruf der Seite generiert wird.
Beispiel Shopware 5
Bilder aus dem Media-Manager werden in Shopware 5 z.B. über das Smarty-Media-Plugin geladen:
<img src="{media path=$sArticle.media[0].media.path}"
class="blog--image panel has--border is--rounded"
alt="{$alt}"
title="{$alt|truncate:160}"/>
Das Shopware 5 Plugin CDN für Shopware 5 passt die hieraus generierte URL zu der CDN-Domain an, sodass das Bild über das CDN geladen wird anstelle über die Standard Shop-Domain.
Ergebnis ohne das CDN Plugin:
Das generierte HTML-Dokument enthält folgenden Code:
<img src="https://shopware-5.creoline-demo.com/media/image/29/d4/02/hq_1280x1280.jpg"
class="blog--image panel has--border is--rounded"
alt="Alternativ Text"
title="Alternativ Text"/>
Ergebnis mit dem CDN Plugin:
Das generierte HTML-Dokument enthält folgenden Code:
<img src="https://shopware-5.cstatic.io/media/image/29/d4/02/hq_1280x1280.jpg"
class="blog--image panel has--border is--rounded"
alt="Alternativ Text"
title="Alternativ Text"/>
In dem zweiten Ergebnis wird die ursprüngliche Domain shopware-5.creoline-demo.com
durch die CDN-Domain shopware-5.cstatic.io
ersetzt. Die Request-URI /media/image/29/d4/02/hq_1280x1280.jpg
bleibt hiervon unberührt.
Problemhebung
Lösung 1: Media-Manager Plugin verwenden
Damit das Shopware-Plugin die Bilder erkennen kann, muss das Bild über den Media-Manager geladen werden. Andernfalls kann das CDN-Plugin die Bild-URL nicht manipulieren.
Lösung 2: Statische CDN-Domain verwenden
Sollte das gewünschte Bild nicht über den Media-Manager erreichbar gemacht werden können, besteht auch die Option, die CDN-Domain eigenständig zu integrieren.
Siehe auch: Anpassung der Bild-Pfade
Achtung: Die Implementierung von hartkodierten CDN-URLs kann unter Umstände zu einem ungewollten Ergebnis führen, wenn die CDN-Ressource zu einem späteren Zeitpunkt deaktiviert wird. Sofern möglich sollten alle Bild-Pfade immer dynamisch über den Shopware Media Manager generiert werden.
Hilfreiche Links
Shopware Dokumentation: