Idealo Feed Versandkostenfrei einbinden

Hallo zusammen,

der Idealo-Feed funktioniert laut dem Idealo-Team, bis auf die Versandkosten. Im Template muss man einen Betrag eingeben, fertig. Es gibt aber in unserem Shop zwei Besonderheiten:

  1. Ab 100 EUR sind die Versandkosten kostenlos
  2. Bestimmte Produkte eines Lieferanten sind auch unter 100 EUR auf Versandkostenfrei gesetzt (den Haken shipping_free gesetzt)

D.h. ich muss jetzt das Template entsprechend anpassen, bekomme es aber nicht hin. Kann mir jemand helfen?

Danke im Voraus!

Viele Grüße
Martin

Ich habe jetzt folgenden Code:

„{%- if product.price >= 100 -%}
{{ „0.00“ }}
{%- elseif product.shippingFree >= 1 -%}
{{ „0.00“ }}
{%- else -%}
{{ „5.90“ }}
{% endif %}“,{#- -#}

Zu 50% funktioniert er: Die product.shippingFree Abfrage passt, die Produkte, die ich manuell in der Import-CSV als versandkostenfrei gekennzeichnet habe, gibt der Export für Idealo tatsächlich mit 0,00EUR Versandkosten aus. Aber ich kriege das nicht hin mit der Preis-Abfrage… habe schon folgende Variablen versucht:

product.price
product.calculatedPrice.listPrice.price (das steht so in der Shopware-Doku für Preisvergleich-Portale)
product.calculatedPrice

…immer werden trotzdem 5,90EUR ausgegeben, selbst bei 1000EUR+ Produkten…

Kann jemand eventuell einen Fehler erkennen? Vielleicht liegts auch am >=

Thanks!

Viele Grüße

du gehst hier am besten über das Price-Objekt
price.unitPrice

der sollte ja bereits innerhalb des Templates gesetzt werden, du musst darauf achten, dass das oberhalb deiner Versandkostenausgabe erfolgt, die Stelle sieht ungefähr so aus
{% set price = product.calculatedPrice %}
{%- if product.calculatedPrices.count > 0 -%}
{% set price = product.calculatedPrices.last %}
{%- endif -%}

deine if-Abrfagen kannst du dann auch zusammenfassen:

„{%- if product.shippingFree or price.unitPrice >= 100-%}
{{ 0.00|currency }}
{%- else -%}
{{ 5.90|currency }}“,{#- -#}

Dankeschön für die Hilfe! Habe das mal so übernommen, jetzt kommt jedoch eine - für mich unlogische - Fehlermeldung, wenn ich die CSV aufrufen möchte (siehe Anhang)

Es handelt sich in der Zeile 33 um den letzten Punkt: „paymentCosts_Invoice“,{#- -#}
Dort steht „0.00“,{#- -#} in der Produktzeile. Das ist auch der letzte Punkt. Habe auch mal versucht, das Komma wegzulassen, doch es kommt der gleiche Fehler. Ich habe an der Zeile jedoch nichts verändert.

Hab jetzt rumprobiert und es nach deinem Tipp tatsächlich hinbekommen, mit deinem Code lief das leider nicht wegen des oben genannten Fehlers, aber ich habe bei mir nach deinem Post etwas abgeändert an meinem ursprünglichen Code - läuft jetzt perfekt! VIELEN Dank nochmal für die Hilfe :upside_down_face:

Für andere, die ein ähnliches Problem mit Idealo haben, in meinem Fall war am Ende das die Lösung:

„{%- if price.unitPrice >= 100 -%}
{{ 0.00|currency }}
{%- elseif product.shippingFree >= 1 -%}
{{ 0.00|currency }}
{%- else -%}
{{ 5.90|currency }}
{% endif %}“,{#- -#}

VG Martin