Problem Google Shopping Feed product.cover.media.url wird nicht mit Storefront URl generiert

Hallo zusammen,

ich habe Anfang der Woche einen Google Shopping Feed erstellt, da sind Bilder aufgetaucht. Nun kommt die Fehlermeldung Ungültiges Bild [Bild link].

Ich fürchte, das liegt daran, dass die product.cover.media.url Variable einen Link mit der Hauptdomain unserer Shopwareinstanz generiert also https://hauptinstanz.de/media… anstatt https://storefront-url.de/media

  1. Wie kann ich das lösen dass er die korrekte Bild URL nimmt

oder

  1. ist das vielleicht auch ein anderes Problem und falls das jemand kennt wie lässt sich das dann lösen?

Hoffe das mir jemand helfen kann, ich stehe gerade echt auf dem Schlauch.

Danke und gruß

Tobi

Hallo, kann uns hier keiner helfen? Wir kommen nicht auf Google Shopping ohne die korrekte URL (so sieht es zumindest aus)


Es ist leider immer noch so und wechselt verrückter Weise täglich. Da sich da dann auch die url ändert. Hat niemand eine Idee wo wir das einstellen können und ob es überhaupt daran liegt?

Hallo,

das funktioniert alles mit TWIG - und in TWIG gibt’s auch ein Replace, dessen Link ich aber nicht posten kann, weil sonst hier eine Fehlermeldung erscheint.

Bei Dir müsste dann sowas wie {{ product.cover.media.url|replace({‚hauptinstanz.de‘ : „storefront-url.de“}) }} zum Erfolg führen.

Du wählst doch bei en Produktexporten aus, welcher Sales-Channel als Basis genommen wird. Die URL des Channels sollte auch als Basis für den Export genutzt werden.

Der o.g. Bug ist mir auch schon aufgefallen. Die URLs der Bilder werden grundsätzlich nicht mehr geladen wenn es eine ManyToMany Assoziation vom Produkt zur CustomEntity gibt. Die Medien der CustomEntity sind zwar da, nur ohne URL.

Es gibt einen sog. MEDIA_LOADED_EVENT, der wird in diesem Falle nicht mehr angetoßen - evtl wurde das aus Performance-Gründen raus genommen?

Danke, sieht so aus wie wenn das funktioniert. Da es aber in der Vergangenheit auch immer wieder ging und wieder nicht werde ich es noch etwas beobachten.

Hallo Zusammen, ich habe leider auch das gleiche Problem.

Was genau ist hiermit gemeint? hauptinstanz.de? storefront-url.de?

Sorry, bin da noch nicht so tief drin.

Danke vorab

Ramsi, das steht alles im ersten Post.
{{ product.cover.media.url|replace({‚hauptinstanz.de‘ : „storefront-url.de“}) }} sorgt dafür, dass in allen Links „hauptinstanz“ durch „storefront-url“ ersetzt wird. Falls Du das gleiche Problem hast, musst Du nur Deine Domains einsetzen.

HI ich habe ein ähnliches Problem.
Der Google export nimmt die folgende Image-URL
meine-url /public/media/…

Richtig wäre aber
meine-url /media/…

Hat mir jemand eine Idee wie ich das public da rausbekomme ?

Same hier… ich hab das selbe Problem aber mit AWS… es hat funktioniert hat die AWS bilder genommen nun einfach nicht mehr…

{% if product.cover %}
        {% set img = product.cover.media.url %}
          {% set dev = "shopdomain" %}
          {% set aws = "" %}
         
          
        "{{ img|replace({dev,aws })  }}",{#- -#}
        {%- else -%}
        "",{#- -#}
        {%- endif -%}

So geht es bei mir!
Bei mir erstellt der dann die AWS domian die auch vom Frontend und vom backend verwendet wird.
Ganz komisch

Wir stehen momentan auch vor einem ähnlichen Problem mit Shopware 6.5.8.7:

SalesChannel URLs haben für jede Sprache den entsprechenden Code hinter der URL:
https://meinedomain.de/de/
https://meinedomain.de/en/
https://meinedomain.de/fr/

Der Feed sieht so aus:
<g:image_link>{{ product.cover.media.url|replace({'/de/':'/'}) }}</g:image_link>
Hier schreibt Shopware dann aber trotzdem immer wieder /de/ zurück in die URL.
Es scheint so als ob Shopware an irgendeiner Stelle die Shop-URLs im Feed parsed und dann mit der hinterlegten URL im Verkaufskanal/Feed ersetzt.

Zum Testen haben wir alle / in product.cover.media.url ersetzt, um zu schauen, ob die URL so auch mit dem /de/ ausgegeben wird:
<g:image_link>{{ product.cover.media.url|replace({'/':''}) }}</g:image_link>
Hier ist das /de/ nicht vorhanden, das heißt das Shopware es automatisiert hinzufügt.

Gibt es hierfür eine Lösung?
Momentan scheint es so, als ob die Bildlinks mit einer solchen Sprachstruktur in den Domains pro Sprache im Verkaufskanal nicht zu funktionieren scheinen.

EDIT:

$content .= $this->seoUrlPlaceholderHandler->replace($body, $productExport->getSalesChannelDomain()->getUrl(), $context);

Ich schätze, dass diese Zeile zu dem Problem/Bug führt.

Moin,
habt ihr hierfür bereits einen Issue erstellt?

Edit: Shopware Issuetracker

@it-brockmann

Ja, Issue ist erstellt:

Wir hatten das quik and dirty über einer RewriteRule in der /public/.htaccess abgehakt:

Beispiel für englisch:

RewriteRule ^en/media/(.*) media/$1 [L]  

Mit einem der letzten Updates (wir sind auf Version 6.6.1.0) scheint es aber auch ohne diese Lösung zu funktionieren.
Dafür gibt es aber ein neues (auch lösbares) Problem mit den Media URLs: Alle Media URLs nach Update auf 6.6.0.2 mit Query-Parameter und -String

So viel „Spaß“ wie ich in seit der Umstellung auf Shopware habe, hatte ich mit dem ollen XT:Commerce in den letzten 15 Jahren nicht.