Nach Migration werden die Vorschaubilder im Backend (Artikeldetails) nicht angezeigt.

Hi. Die Migration von XT-Veyton hat eigentlich sehr gut geklappt. Nach dem alles abgeschlossen wurde habe ich zuletzt alle Thumbs neu generiert, was auch sehr gut geklappt hat. Die Bilder werden überall im Front- und Backend normal angezeigt außer in den Artikeldetails.

Hab wirklich alles versucht und ich finde keine Lösung.

Anstatt der Bilder wird der Standard-Platzhalter angezeigt. Nach dem Check durch die Console im Chrome sehe ich einen 404-Error beim jeweiligen Bild. Das Bilder kann man auch nicht direkt im Browser aufrufen, existiert einfach nicht.

Hab die Version 5.4.1 und komme jetzt nicht mehr weiter. Hab einen Managed Server bei Hetzner und viele weitere Shopware Projekte drauf wo alles ohne Probleme läuft.

Hat mir jemand einen Tipp vielleicht? Die Sache mit dem Artikel speichern habe ich auch bereits versucht. Es kommt weder Error noch wird das Bild angezeigt, auch nach dem Speichern.

Vielen Dank, Aron

Du könntest einfach die fehlende größe (glaube 140x140) als Thumbnail anlegen und generieren lassen. Danach kannst du die Thumbnailgröße wieder löschen. Die kleinen Thumbnails erzeugt Shopware im Hintergrund automatisch bei einem Upload über das Backend. Denke das fehlt ggf. bei der Migration.

 

Hallo Moritz, danke für deine Antwort.

Hab jetzt die 140x140 und die 1024x1024 generiert. Alle Caches gelöscht, usw. Die Bilder werden trotzdem nicht angezeigt. Liegt es an den Positionsnummern, 7 und 8?

Danke

Hallo Aron.

Stehe gerade vor dem selben Problem wie du. Nach Migration von Magento habe ich die Thumbs über das Backend neu generiert. Im Frontend wird alles korrekt angezeigt aber im Backend stimmt der Bildpfad nicht. Hast du ein Lösung gefunden und kannst mir weiterhelfen?

Im Frontend wird folgender Pfad verwendet:
/media/image/35/bf/cd/temp90778-navy-lightblue_140x140.jpg

Im Backend dieser:
/media/image/10/c6/f0/90778-navy-lightblue_140x140.jpg

Es fehlt “temp” als Prefix. Das ist wohl durch das Migrieren dazugekommen. Wieso nutzt er hier unterschiedliche Namen? In der DB Tabelle s_article_img wird auch nur der Bildname ohne “temp” aufgeführt…

 

Beste Grüße
Mike

Falls mal jemand vor dem gleichen Problem steht… Ich konnte es lösen.

Durch die Migration wurde wie gesagt das Präfix „temp“ bei den Bildnamen angefügt. In der Tabelle s_article_img wurden die Bildnamen ohne temp verwendet. Die Verknüfung zum Bildpfad wird über den Bildnamen mit der Tabelle s_media hergestellt wo sich auch der Dateipfad befindet. 
In s_media war der Bildname mit dem Präfix enthalten. Folgender SQL Befehl entfernt das temp an Anfang:
update s_media set name = substring(name, locate(„temp“, name)+length(„temp“)) WHERE name LIKE ‚temp%‘;

Danach nur noch die Thumbs über die Console generieren:
php bin/console sw:thumbnail:generate ausführen

Danach funktionieren die Bilder im Front- und auch im Backend. Cheers :slight_smile:

2 Likes

Um das Problem entgültig zu beheben, muss man in folgender Datei:

engine/Shopware/Plugins/Community/Backend/SwagMigration/Components/DbServices/Import/ImageImporter.php

 

Folgendes ändern:
Zeile 206

von:

$uploadDir = Shopware()->Container()->getParameter(‘shopware.app.rootdir’) . ‘media/temp’;

nach:

$uploadDir = Shopware()->Container()->getParameter(‘shopware.app.rootdir’) . ‘media/temp/’;

es wurde einfach ein Slash am Ende vergessen.

Danach noch ein 

php bin/console sw:thumbnail:generate 

und das war es.

 

Gruß Helle

1 Like

Danke schon mal für die Ansätze. Bei mir klappte das so leider noch nicht. Ich habe von Magento 1.7 migriert - im Frontend habe ich Bilder - ganz wunderbar!

Im Backend leider nicht. Obiger SQL Befehl hat bei mir das temp auch nur in der Spalte “name” entfernt - beim path ists natürlich drin geblieben…

Komischerweise funktionieren die Links mit Temp im Dateinamen im Frontend:

/media/image/fc/3f/af/tempb10659600WSbwNL5DjSJLo.jpg

und diese Links aus dem Backend nicht:

/media/image/a1/8e/20/b10659600.jpg

Im Filesystem sind die original Bilder unter /media/tempDATEINAME und natürlich dann auch unter zB media/image/fc/3f/af/tempDateinamen zu finden. Das temp im Dateiverweis ist also schon richtig?

wenn ich nun in der Tabelle s_article_img ein temp in den Dateinamen schreibe wird mir das Große Bild im Backend angezeigt:

ich konnte mit folgendem Befehl 

UPDATE s_articles_img SET img = CONCAT(‘temp’, img)

das temp vor jeden Dateinamen in der Spalte s_articles_img schreiben - jetzt sehe ich auch im Backend Bilder… wasnscheiß… :wink: