Hallo,
für die Werbung auf Google-Produkte habe ich einen deutsch- und einen eglischsprachigen Verkaufskanal zur Erstellung von zwei XML-Dateien angelegt.
Beide Feeds verwenden ein identisches XML-Template mit folgender Konfiguration für den Bildlink:
<g:image_link>{{ product.cover.media.url }}</g:image_link>
Leider werden für den englischen Feed Bildlinks erstellt, die alle zu einen 404 Error führen.
Woran kann das liegen?
Danke
Ich stelle gerade fest, dass Problem hängt damit zusammen, dass im Bildlink das „/en/“ mit eingefügt wird, weil es sich um eine englischsprachigen Verkaufskanal handelt.
Grundsätzlich ist das ja auch korrekt, aber die Produktbilder sind nur ohne das „/en/“ erreichbar.
Warum sind Bilder nicht in beiden Sprach-URLs verfügbar und warum wird das bei der Feed Erstellung nicht berücksichtigt?
Habe ich eine Einstellung übersehen?
Leider funktioniert folgende Ersetzung nicht:
{{ product.cover.media.url|replace({‚/en/‘: ‚/‘}) }}
Diese Ersetzung hingegen schon:
{{ product.cover.media.url|replace({‚/media/‘: ‚/‘}) }}
Man kann offenbar bei folgendem Beispiel
https://www.shop.de/en/media/15/ag/9d/08154711/1000.jpg
keine Änderung am URL-Teistring vor /media/ vornehmen.
Leider habe ich keine weitere Idee, was man jetzt noch machen könnte, um den Sprach-Suffix aus der URL zu entfernen. Über Vorschläge würde ich mich deshalb sehr freuen.
Danke
Also, die Sache über das Template zu lösen war mir leider nicht möglich.
Stattdessen ist jetzt als Workaround, bis zu einem möglichen Bugfix, folgende RewriteRule in der /public/.htaccess implementiert:
RewriteRule ^en/media/(.*) media/$1 [L]
Den Bug habe ich unabhängig davon im Shopware issuetracker gemeldet.
Mal abwarten, ob und wann er gefixt wird.
Die Lokalisierung läuft nachrangig und ändert alle erkannten lokalen URLs.
Da müsstest du im Source Code ran, oder wie du das notgedrungen gelöst hast über die .htaccess
Ja, dass der Verkaufskanal mit dem Sprach-Suffix nachrangig generiert wird, ist an der Stelle ein echtes Problem. Das hat mich jetzt einige unnötige Stunden gekostet.
Sollte ein Fix kommen, werde ich die Regel dann einfach wieder entfernen.