Bug: Nach Update von 5.2 auf 5.3 Ladefehler bei Vektorbildern (.svg) in der Einkaufswelt

Hallo,

ich habe in meiner EKW Vektorbilder (.svg), die nach dem Update nun nicht mehr geladen werden.

Der von der EKW generierte HTML Code lautet:

Die Vektordatei liegt auch brav in dem unter src beschriebenen Pfad, aber der Pfad in der srcset-Angabe fehlt, so dass der Browser die Datei https://develop.superfein.de/2x zu laden versucht, was natürlich nicht funktioniert.

Ich habe bereits versucht, unter SW 5.3 die Vektordateien noch einmal neu zu importieren, Thumbnails zu generieren und die EKW neu zu erstellen und in anderen Browsern zu laden, leider alles ohne Erfolg. Was mir noch aufgefallen ist: Bei der Thumbnail-Generierung wird die Fehlermeldung “File is not an image” ausgegeben.

Kennt jemand einen Workaround (außer Bildkonvertierung)?  Irgendwo muss ja der fehlerhafte Eintrag, z.B. in einem System-Template liegen…oder es liegt schon vorher am Medienmanager.

Vielen Dank für eure Hilfe!

So, ich bin einen Schritt weiter in der Analyse:

Die entsprechende Template-Datei der Einkaufswelt ist /themes/Frontend/Bare/widgets/emotion/components/component_banner.tpl.

Verantwortlich ist der untere Bereich im folgenden Block:

{block name="widget_emotion_component_banner_image"}

    {if $Data.thumbnails}
        {$baseSource = $Data.thumbnails[0].source}
        {$retinaBaseSource = $Data.thumbnails[0].retinaSource}

        {foreach $element.viewports as $viewport}
            {$cols = ($viewport.endCol - $viewport.startCol) + 1}
            {$elementSize = $cols * $cellWidth}
            {$size = "{$elementSize}vw"}

            {if $breakpoints[$viewport.alias]}

                {if $viewport.alias === 'xl' && !$emotionFullscreen}
                    {$size = "calc({$elementSize / 100} * {$baseWidth}px)"}
                {/if}

                {$size = "(min-width: {$breakpoints[$viewport.alias]}) {$size}"}
            {/if}

            {$itemSize = "{$size}{if $itemSize}, {$itemSize}{/if}"}
        {/foreach}

        {foreach $Data.thumbnails as $image}
            {$srcSet = "{if $srcSet}{$srcSet}, {/if}{$image.source} {$image.maxWidth}w"}

            {if $image.retinaSource}
                {$retinaSrcSet = "{if $retinaSrcSet}{$retinaSrcSet}, {/if}{$image.retinaSource} {$image.maxWidth}w"}
            {/if}
        {/foreach}
    {else}
        {$baseSource = $Data.source}
    {/if}

    
        
        

        {* Fallback *}
        
    
{/block}

Bei .svg-Bildern ist die Variable {$retinaBaseSource) bzw. das Datenbankfeld $Data.thumbnails[0].retinaSource nicht befüllt. Als Workaround habe ich die img-Zeile um eine if-Abfrage ergänzt:

Das funzt, aber das Problem sollte an der Wurzel behoben werden, sprich bei der Thumbnail-Generierung: Da sollte bei Vektor-Dateien das Feld $Data.thumbnails[0].retinaSource gleich dem Feld $Data.thumbnails[0].source gesetzt werden. Dann entfällt auch die Fehlermeldung bei der Thumbnail-Generierung.

Könnte das jemand als Bug / CR einstellen?

Dafür gibt es den issue tracker. Am besten hier noch einen Link zum voten posten.