Attribut mit DotLiquid füllen; Attribut nicht übermitteln, wenn Wert leer

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.258
299
Hi,
wir sind seit dieser Woche mit Kaufland und noch voll mit der Datenaufbereitung für den Launch beschäftigt. Ich glaube, dass wir so weit alles verstanden haben und auch mit den bugs und Inkonsistenzen schon vertraut sind (z.B. Verkaufskanalfelder vererben inkonsistent (nicht sauber), für die Plattform importierte Bilder lassen sich nur einmalig per Ameise importieren, aber kein zweites Mal, da er keine Schreibrechte dazu hat...)

Nun eine Frage für ein Attribut, das mal gefüllt ist, mal nicht. Also je nach Artikel unterschiedliche Werte hat. Konkret geht es um "Muster." Mal ist es gefüllt, mal nicht.
Es scheint aber so zu sein, dass SCX hier trotzdem übermittelt, selbst wenn leer ist. Für die entsprechenden Artikel erhalten wir stets: "offer(xxx): Attribut Muster(pattern) hat keinen Wert"

Wenn wir in DotLiquid einfach die Verknüpfung zu dem "Kaufland Muster" machen, kommt der Fehler
Inhalt: {{ Vorgang.Merkmale.Merkmale.Kaufland.Kaufland_de_Muster.Deutsch }}

Wenn wir die Bedingung einbauen, nur dann, wenn ein Wert da ist, fülle aus, erhalten wir den gleichen Fehler:
{% if Vorgang.Merkmale.Merkmale.Kaufland.Kaufland_de_Muster.Deutsch %}{{ Vorgang.Merkmale.Merkmale.Kaufland.Kaufland_de_Muster.Deutsch }}{% endif %}


Daher die Frage: Wie kann man SCX beibringen, dass er das Attribut "Muster" nur dann sendet, wenn es wirklich vorhanden ist? Oder ist das ein bug und "Muster" wird stets gesendet und führt zu Fehlern, wenn es leer ist?
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.706
2.733
Berlin
Firma
css-umsetzung
versuche es mal mit:
Ich weiß jetzt nicht direkt, ob empty, so wie in php. auch auf null prüft, daher sind beide in der if abfrage
Code:
{% if Vorgang.Merkmale.Merkmale.Kaufland.Kaufland_de_Muster.Deutsch != null and Vorgang.Merkmale.Merkmale.Kaufland.Kaufland_de_Muster.Deutsch  != empty -%}
Inhalt: {{ Vorgang.Merkmale.Merkmale.Kaufland.Kaufland_de_Muster.Deutsch }}
{% endif -%}
 

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.258
299
Danke. Hier wird der leere Wert generell trotzdem als Attribut [pattern: " "] übertragen und es scheint einfach ein hard-coded bug zu sein. Das ist nicht bei jedem Attribut der Fall, wie ich festgestellt habe.

Mit deiner Eingabe wirft SCX im Log [pattern: "Inhalt: " "] aus, also wieder das Attribut mit leerem Wert. Die Anführungszeichen zur Verdeutlichung, dass hier ein leerer Wert übertragen wird.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.706
2.733
Berlin
Firma
css-umsetzung
Ok hab es mir angeschaut,

dann so:
Code:
{% assign result = Vorgang.Merkmale.Merkmale.Kaufland.Kaufland_de_Muster.Deutsch | IsFilled -%}
{% if result -%}
Inhalt: {{ Vorgang.Merkmale.Merkmale.Kaufland.Kaufland_de_Muster.Deutsch }}
{% endif -%}
 

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.258
299
Nein, nichts von dem hilft. Es wird stets als Fehler ausgegeben, dass ein Wert fehlt.
Jedoch sehen wir auch, dass die Werte von uns im Kaufland backend übernommen wurden.

Übersehen wir etwas im Prozess mit Kaufland und Wawi?

Wir hinterlegen die Kaufland-Attribute, wir setzen den Artikel für Kaufland online (wir sehen auch im Stammblatt, dass die Verkaufskanalfelder gefüllt werden), der Artikel ist komplett online, aber wirft ein leeren Wert bei Muster als Fehler per API zurück.

Nach jeder testweisen Änderung prüfen wir die Ausgabe mit dem Beispielartikel und markieren den Artikel im Kanal als "Angebot auf Marktplatz aktualisieren"



Pattern.JPG
 

titaps

Aktives Mitglied
28. März 2018
27
3
Grünstadt
Guten Abend,

konntet Ihr eine Lösung finden?
Mit Wawi 1.8.8.1 verhält es sich immer noch wie beschrieben.
Für Kaufland scheint es kein Problem zu sein, aber bei Otto.de wird es problematischer, wenn ein Merkmal mit leerem Wert übergeben wird.

Mit freundlichen Grüßen
V. Esse
 

atzlich

Aktives Mitglied
6. Februar 2014
63
10
Guten Abend, ich frage auch noch einmal vorsichtig nach. Gib es jetzt hierfür eine Lösung? Welche Wert könnte man denn übermitteln wenn es keinen Artikelwert gibt.

Wie löst ihr das derzeit.

VG Andreas
 

Ähnliche Themen