lx777__

Gut bekanntes Mitglied
22. Juli 2019
88
38
Seid gegrüßt,

folgendes Problem besteht:
Wir steigen von Unicorn2 auf SCX um. Bei Unicorn2 haben wir immer mit Attributen gearbeitet. Diese wurden an den Verkaufskanal (Kaufland / OTTO) übertragen.

In der Verkaufskanalverwaltung, wo man die Felder mit DotLiquid-Variablen befüllen kann, wählen wir die bestehenden Attribute aus - aber der Wert hinter der Variable ist leer.

Beispiel:
Das Attribut {{ Vorgang.Attribute.unicorn_2:_OttoMarket_(OTTO_market).unicorn_2:_OttoMarket.Design.Deutsch }} liefert keinen Wert.
Auch das Attribut {{ Vorgang.Attribute.Global.unicorn_2:_OttoMarket.Design.Deutsch }} liefert keinen Wert.

Vorschau-Artikel wurde ausgewählt.

Die Attributsverwaltung füge ich hier als Screenshot ein, sodass man sieht, dass die Werte gefüllt sind.
Normalerweise wurden die Attribute immer unter der Plattform "JTL-Wawi" gepflegt (siehe Screenshot). Hat mit Unicorn2 auch problemlos funktioniert.
Nach einer Vermutung haben wir dieselben Attribute auch der Plattform "Unicorn 2: OttoMarket" hinzugefügt.
Leider liefern die Variablen aus dem Variablen-Baum unter Verkaufskanäle > Felder zuordnen keinen Wert oder einen leeren Wert.

Kann mir jemand sagen, wie ich die Attribute per DotLiquid richtig anspreche?

Ich habe zwar einen Workaround gefunden, aber halte das weder für sinnvoll noch mag ich diesen Weg.
Workaround: Alle Attribute exportieren und als Merkmale anlegen.
Die DotLiquid-Variablen für Merkmale funktionieren problemlos in der DotLiquid-Verknüpfung. Diese liefern mir den erwarteten Wert.
Ich mag aber das Arbeiten mit Merkmalen nicht. Gerade wenn es um überschreiben geht, werden unter einem Merkmal dann zwei Merkmalwerte geführt. Das ist für Verkaufskanäle wie Kaufland und OTTO für uns nicht praktisch.

Bildschirmfoto 2025-05-21 um 01.44.09.pngBildschirmfoto 2025-05-21 um 01.44.54.png
Bildschirmfoto 2025-05-21 um 01.48.24.png
 

Anhänge

  • Bildschirmfoto 2025-05-21 um 01.48.01.png
    Bildschirmfoto 2025-05-21 um 01.48.01.png
    168,1 KB · Aufrufe: 3

frankell

Sehr aktives Mitglied
9. September 2019
1.516
457
Flensburg
Hallo @lx777__,

sollten die Variablen nicht funktionieren, kannst Du die Attribute auch per SQL rausziehen, hier am Beispiel des Attributs "Motiv":

SQL:
{% capture query -%}
SELECT
    ARTATTS.cWertVarchar
FROM
    tArtikelAttributSprache AS ARTATTS
    JOIN tArtikelAttribut AS ARTATT ON ARTATTS.kArtikelAttribut = ARTATT.kArtikelAttribut
    JOIN tAttribut AS ATT ON ARTATT.kAttribut = ATT.kAttribut
    JOIN tAttributSprache AS ATTS ON ATT.kAttribut = ATTS.kAttribut
WHERE
    ATT.cGruppeName = 'unicorn 2: OttoMarket'
    AND ATTS.cName = 'Motiv'
    AND ATTS.kSprache = 1
    AND ARTATTS.kSprache = 1;
{% endcapture -%}
{% assign result = query | DirectQueryScalar -%}
{{ result }}

Du musst nur jeweils die Bezeichnung der Attributgruppe und des Attributs anpassen sowie wenn es mal nicht Deutsch (kSprache = 1) sein soll, die Sprache.
 

JohnFrea

Sehr aktives Mitglied
21. September 2017
862
273
Ich glaube, JTL hat in dot.Liquid Probleme Feldnamen bzw. Pfade zu Feldern mit Doppelpunkt zu parsen.
"unicorn 2: OttoMarket" ist ein Problem.

Benennne die Feldgruppe mal in z.B. "Otto" um, sodaß sie keinen Doppelpunkt hat.

Achtung: Bereits getätigte dot.liquid Zuweisungen gehen dadurch verloren, weil der Pfad zum Feld absolut gespeichert wird,.
 

frankell

Sehr aktives Mitglied
9. September 2019
1.516
457
Flensburg
Ich glaube, JTL hat in dot.Liquid Probleme Feldnamen bzw. Pfade zu Feldern mit Doppelpunkt zu parsen.

Würd's natürlich erklären. Dann sollte das aber bekannt und irgendwo dokumentiert sein. Eigentlich. :D

Benennne die Feldgruppe mal in z.B. "Otto" um, sodaß sie keinen Doppelpunkt hat.

Sind die wirklich frei wählbar? Würd mich ja fast wundern.
 

John

Sehr aktives Mitglied
3. März 2012
3.537
815
Berlin
Mach mal ohne SQL. Solche Bastelei sollte echt nur für den NOTFALL sein und der liegt bei Dir nicht vor.

Mach mal die Gruppe und den Attributnamen ohne Sonderzeichen. Am besten auch keine Leerzeichen. Macht NUR Probleme.
 

Ähnliche Themen