Korrekter Pfade zu Thumbnails ab SW 5.1.x

Aktuell arbeite ich an einem neuen Plugin, allerdings am korrekten Bildpfad verzweifel ich. Ja, es gibt bereits ein Posting zu diesem Thema, scheint aber nicht für SW 5.1. zu gelten. Dort wurde MD5() erwähnt, jedoch die Rechnung geht nicht auf:

  • Bild Test_600x600.jpg
  • Pfad laut SW ist /media/image/18/61/30/Test_600x600.jpg

mit MD5(‘media/image/Test_600x600.jpg’) komme ich jedoch auf c91e7a0fe9df82d1570c57c436403dc6

In einer diversen Doku steht diese Anleitung:

$path = 'media/image/my-fancy-image.png';
$mediaService = $container->get('shopware_media.media_service');
$url = $mediaService->getUrl($path);

Also neuer Versuch:

$img = 'media/image/Test_600x600.jpg';
$mediaService = $this->container->get('shopware_media.media_service');
$img = $mediaService->getUrl($img);

Auch hier kommt ich nicht auf den Pfad den mir SW 5.1 wie oben angelegt hat.

Wie funktioniert das nun korrekt?

 

Die Thumbnails waren ja früher auch in einem Unterordner. Hast du es mal mit /Media/Image/thumbnail/Dateiname probiert?

Hi,

das Beispiel bezieht sich auf das Normalbild - nicht auf das Thumbnail. Bei Thumbnails sieht der Virtuelle Pfad so aus:

 media/image/thumbnails/Test\_600x600.jpg

Wenn ich das damit mache, passt es.

Daniel

1 „Gefällt mir“

Der Pfad „/media/image/18/61/30/Test_600x600.jpg“ wird bei mir im Listing so angezeigt und genau diesen Pfad möchte ich ebenfalls erreichen. Ich teste das mit dem „thumbnails“.

@Daniel Nögel schrieb:

Hi,

das Beispiel bezieht sich auf das Normalbild - nicht auf das Thumbnail. Bei Thumbnails sieht der Virtuelle Pfad so aus:

media/image/thumbnails/Test_600x600.jpg

Wenn ich das damit mache, passt es.

Daniel

Wenn ich das mache, wird mir das Log zugeschissen mit:
 

[2016-08-30 08:23:43] core.ERROR: Legacy media url detected. {"requestedUrl":"/media/image/thumbnails/Test_600x600.jpg","redirectedTo":"..../media/image/18/61/30/Test_600x600.jpg"} {"uid":"15a17ed"}

Also das kann ja nicht korrekt sein. Ich hätte jetzt gern auf „Danke“ geklickt, aber so leider nicht :slight_smile:

Du musst den von mir genannten Pfad trotzdem noch in den Mediaservice kippen, darum schrieb ich ja „virtueller Pfad“ - der MediaService gibt dir den physikalischen Pfad zurück :)

Ich schau noch mal …

Hi,

$path = '/media/image/thumbnails/Test_600x600.jpg';
$mediaService = $container->get('shopware_media.media_service');
$url = $mediaService->getUrl($path);

Damit gibt es die Meldung nicht. Die Meldung zeigt ja, dass du keine URL aus dem Mediaservice genutzt hast, sondern die virtuelle. Du musst aber die benutzen, die dir getUrl zurück gibt. Die sieht dann wie folgt aus: /media/image/18/61/30/Test_600x600.jpg Das ist hier dokumentiert: MediaService steht ein paar Zeilen unter dem Beispiel, das du eingangs zitiert hattest. Damit treten keine LegacyMediaUrls auf. 

Daniel

 

//edit: Beitrag bezieht sich auf den vorherigen Beitrag vor der Bearbeitung durch R4M :slight_smile:

1 „Gefällt mir“

Ja ist in meinem verwirrten Kopf etwas apäter angekommen. Ja so gefällt mir das richtig. Dafür geb ich gern ein “Danke” :slight_smile: