Google Shopping XML Fehler

Hallo,

wenn ich einen neuen Produktvergleich anlege und als Vorlage die google.xml zur Grundlage nehme, erhalten ich beim Template Test folgende Fehlermeldung:

Failed rendering string template using Twig: Failed rendering string template using Twig: Impossible to access an attribute (“getBreadCrumb”) on a null variable in “a43debc3267abc5f26dcaa26c9e59e62” at line 6.

Worann liegt dies ? 

Wenn ich die google.xml aufrufe erhelte ich dann die Meldung im Browser:

 {"errors":[{"status":"400","code":"FRAMEWORK\_\_STRING\_TEMPLATE\_RENDERING\_FAILED","title":"Bad Request","detail":"Failed rendering string template using Twig: Failed rendering string template using Twig: Impossible to access an attribute (\u0022getBreadCrumb\u0022) on a null variable in \u0022a43debc3267abc5f26dcaa26c9e59e62\u0022 at line 6.","meta":{"parameters":{"message":"Failed rendering string template using Twig: Impossible to access an attribute (\u0022getBreadCrumb\u0022) on a null variable in \u0022a43debc3267abc5f26dcaa26c9e59e62\u0022 at line 6."}}}]}

Produktzeile im Template sieht wie folgt aus: Line 6 habe ich mal fett markiert



{{ product.productNumber }}

{{ product.translated.name|escape }}


{{ product.translated.description|escape }}

<google_product_category>554{# change your Google Shopping category #}</google_product_category>

<product_type>{{ product.categories.first.getBreadCrumb|slice(1)|join(’ > ')|raw|escape }}</product_type>

{{ seoUrl(‘frontend.detail.page’, {‘productId’: product.id}) }}

<image_link>{{ product.cover.media.url }}</image_link>

new



{%- if product.availableStock >= product.minPurchase and product.deliveryTime -%}

in_stock

{%- elseif product.availableStock < product.minPurchase and product.deliveryTime and product.restockTime -%}

preorder

{%- else -%}

out_of_stock

{%- endif -%}



{{ product.calculatedListingPrice.from.unitPrice|number_format(context.currency.decimalPrecision, ‘.’, ‘’) }} {{ context.currency.isoCode }}

{{ product.manufacturer.translated.name|escape }}

{{ product.ean }}

{{ product.manufacturerNumber }}



DE

Standard

{{ 0.00|currency }}{# change your default delivery costs #}




 

Hat jemand eine Lösung ?

Hallo,

ein Workaround wäre eine if Abfrage einzufügen:

{% if product.categories.first %}
{{ product.categories.first.getBreadCrumb|slice(1)|join(’ > ')|raw|escape }}
{%- endif -%}

Dann sollte es erst mal funktionieren.

Viele Grüße

1 „Gefällt mir“

tiptop ! lieben Dank dir