Google Shopping Feed: Varianten und Eigenschaften

Hallo,

wie kann ich im Template für Google Shopping XML Feeds

  • die Eigenschaften der Produkte, zB. Farbe
  • die Varianten -Optionen, zB. Größe

auslesen?

Im Modebereich sind das Pflichtfelder …

{{ dump(product) }} gibt leider überhaupt nichts aus, wenn man den Feed dann über die URL öffnet …

niemand eine Idee?

Ich hänge mich hier dran, da ich die Ausgabe der Eigenschafte ebenfalls benötige.

Die Eigenschatfen werden aktuell nicht an den Feed übergeben, sind daher aktuell nicht verfügbar. Am betsen einen Verbesserungsvorschlag aufmachen.

Hallo Zusammen!

Hat sich irgendwas in der Richtung geändert?

Mit freundlichen Grüßen / Best regards
Medeo GmbH

Ja, es geht schon seit Shopware 4.x 

Ich benutze z.B. für die Farbe folgenden Code. Es ist ein abfrage die schaut ob der Wert Farbe in Eigenschaften ist und gibt diese dann aus. 

    {assign var="properties" value=$sArticle.articleID|property:$sArticle.filtergroupID}
    {foreach from=$properties item=property}
    {if $property}
    {if $property.name=="Farbe"}{$property.value|escape}{/if}
    {/if}
    {/foreach}

 

Ansonsten gibt es noch das Produktdetail von Google.

https://support.google.com/merchants/answer/9218260#zippy=%2Cbekleidung

 

@Commander‍ was postest du hier? Dir ist klar, dass es hier um SW6 geht oder?

Ah Fu Sorry, dass hab ich nicht gesehen, ich bin über die Google suche bei einem Fehler im Shopware 5 in das Thema gelangt und wollte schnell helfen ohne das ich gesehen habe im Shopware 6 Forum zu sein. Wie unangenehm…

 

Ich weiß nicht, ob es für euch hilfreich ist, aber ich werde das für einen Shopware 6 shop so lösen und die Content Api benutzen. 

Hab auch das Problem mit dem Facebook Verkaufskanal, möchte hier ebenfalls einen Artikelzustand mitgeben da nur „neu“ ausgegeben wird auch wenn der Artikel gebraucht ist. lt. Supportticket ist diese Funktion leider nicht geplant, die PE war daher verschenktes Geld…Wäre schön wenn Shopware hier nachbessern würde. Eigenschaften zu mappen wäre schon eine Sache die ich als Grundfunktion erachte. Leider sehr enttäuschend…

Die Produkteigenschaften befinden sich in product.properties. Da dies ein Array mit mehreren Einträgen ist, musst man im Template des Produktvergleichkanals darüber “loopen”:

{# sind produkt properties gegeben ? #}
{%- if product.properties -%}

    {# loop durch jede einzelne product property #}
    "{%- for property in product.properties -%}

        {# bsp.: geben den Namen der property aus #}
        {{ property.name }}

        {# wenn dies nicht die letzte property in der loop ist, setze ein Komma #}
        {%- if not loop.last -%},{%- endif -%}
    {%- endfor -%}"
{%- endif -%}

Ich hoffe das hilft bezgl. der Eigenschften weiter.

 

@TKA‍ Das mit den product.properties funktioniert so. Allerdings handelt es sich hier nur um die normalen Eigenschaften, wie bspw. Geschlecht oder Füllmenge, etc. Die Varianten-Optionen, also jene Eigenschaften, die Varianten generieren und definieren, sind hier nicht enthalten. Dies wären normalerweise in product.options und in product.variation enthalten - in der Produktdetailansicht hat ein product alle diese Properties befüllt - nur im Produkt-Export-Feed jedoch nicht, hier sind die Properties immer LEER bzw. EMPTY. Sieht fast so aus, als wäre das ein Bug in Shopware. Wir würden das auch schon dringend benötigen, um Google die Eigenschaften wie Farbe und Größe mitgeben zu können.

 

Antwort vom Shopware-Support: " …es handelt sich hierbei tatsächlich um einen Bug. In den aktuellen Versionen ist die Zuordnung der Optionen im Produktexport noch nicht verfügbar.".

Ticket dazu (leider schon seit Monaten offen!):

 

Da stellt sich schon die Frage, warum so eine kleine Änderung - siehe Workaround - so lange auf die Umsetzung wartet…

 

Workaround vorgeschlagen von Shopware (Änderung im Core!):

/vendor/shopware/core/Content/ProductExport/Service/ProductExportGenerator.php

Und dort die Assoziation/Verknüpfung zum Produkt-Export wie folgend in Zeile 118 hinzufügen:

->addAssociation('options.group');

Das Ganze (criteria) Objekt sollte dann wie folgt aussehen:

$criteria  
            ->addFilter(...$filters)  
            ->setOffset($exportBehavior->offset())  
            ->setLimit($this->readBufferSize)  
            ->addAssociation('categories')  
            ->addAssociation('cover')  
            ->addAssociation('manufacturer')  
            ->addAssociation('media')  
            ->addAssociation('prices')  
            ->addAssociation('properties.group')  
            ->addAssociation('options.group');  

Nach diesen Änderungen sollten Sie die Optionen im Produkt Export wie folgt nutzen können:

 {{ product.productNumber }}
{% for option in product.options %}
    {{ option.name }} 
{% endfor %} , {# #}

 

Wir haben es mit dem Workaround nun gelöst. D.h. die Änderung im Core gemacht (siehe voriger Post) und dann das Template für den Google XML Export angepasst um folgende Zeilen:

Bin auch auf der Suche für einen vernünftigen Feed mit Größen und Farben. Das hier schein die Lösung zu sein wann wird das eingespielt oder gibt es eine Anleitung was nun wo rein muss ? Danke für Hilfe.

Shopware 6.3.3.1

hier machen wir das so um zB. die Farbe auszugeben

    {%- for property in product.properties -%}
      {%- if property.groupid == '900f79af71db8ca476614f9f4b43fbd2' -%}
         {{property.name}}	
      {%- endif -%}
    {%- endfor -%}

für Varianten-Optionen leider natürlich nicht passend.

{%- if product.variation -%}
{%- for variation in  product.variation -%}
    {%- if variation.group == 'Farbe' -%}
        <g:color>{{ variation.option }}</g:color>
    {%- endif -%}
    {%- if variation.group == 'Grösse' -%}
        <g:size>{{ variation.option }}</g:size>
    {%- endif -%}
{%- endfor -%}

{%- endif -%}

Hier nochmal für die faulen. Bitte das nächste mal vielleicht kein Bild einfügen, sondern Code :stuck_out_tongue:

PS: Ich habe dafür einen Patch erstellt:

https://gitlab.com/mh2017/shopware6-patches/-/raw/master/core/export-options.patch

Wie Ihr den nutzen könnt, seht Ihr hier → Shopware 6 | Elasticsearch Patch – The Cake Shop

Kann mir jemand sagen ob das Problem in der aktuellen Version 6.4.7.0 noch immer besteht? Das Ticket im Issuetracker wurde geschlossen mit „nicht reproduzierbar“. Ich habe jedoch genau das Problem dass ich keine Variantenwerte ausgegeben bekomme.

@marvin.lindemann Das wüsste ich auch gerne, hast du das mit den Variantenwerten in 6.4.7.0 (mit oder ohne) dem Patch aus diesem Beitrag geschafft?

@cf-leon Ich habe den Code wie oben von „opalion“ beschrieben in der ProductExportGenerator.phpeingefügt und dann lief es.