Gelöst Attribute per DotLiquid in Workflow einzeln abfragen

Dull

Gut bekanntes Mitglied
14. Juli 2014
129
12
Passau
Moin,

ich versuche nun schon seit ein paar Stunden Attributwerte der ersten Artikelposition für einen Workflow zu extrahieren. Glaube langsam, dass das nicht (bzw. nur per SQL-Abfrage) möglich ist ... oder sehe ich den Wald vor lauter Bäumen nicht mehr?

Im Prinzip soll für einen Workflow eine erweiterte Eigenschaft erstellt werden, die zurückgibt, ob ein Attributwert mit einer If-Abfrage übereinstimmt. Im Prinzip soll also ein Booleanwert dabei heraus kommen, den ich dann für den Workflow nutzen kann.
Vorgefertigt gibt es dazu aber nur die 2 Variablen:
{{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute }} und
{{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.AttributeAlsText }}

Die erste Var gibt mir irgendwie gar nichts zurück, die zweite eben unsortierten Plaintext von allen Attributen des Artikels. Ich möchte nun aber gezielt ein bestimmtes Attribut, bzw. dessen Wert ausgespuckt bekommen, was mit den beiden Variablen wohl nicht funktioniert ^^
Bei den Vorlagen kann das ganz einfach z. B. per "Alias$()" oder "JTL_GetProductAttribute("ATTRIBUTNAME",SalesOrderPosition.ProductInternalId))" gelöst werden.

Da wir produktabhängige Attributwerte zur Berechnung von verschiedenen Sachen verwenden wäre es aber super, wenn man die Attribute konsistent nicht nur in den Vorlagen, sondern auch Global in DotLiquid ansprechen könnte :)
 

Björn Ponsen

Moderator
Mitarbeiter
1. Juli 2016
987
90
Hallo @Dull,

habt Ihr hier schon mal mit einer For-Schleife versucht die Artikelliste auf dieses Attribut zu überprüfen ?
Schaut mal hier könnt ihr sehen wie Ihr das macht, ist in in den Workflows bei DotLiquid sowie bei den Vorlagen gleich.
 

Dull

Gut bekanntes Mitglied
14. Juli 2014
129
12
Passau
Hi Björn,
Jap habe ich probiert je nach Konstellation kommt dabei folgendes raus:

Bei Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.AttributeAlsText kommt in jedem Fall eine leere Ausgabe.

Bei
{% for item in Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute %}
{{ item }}
{% endfor %}
erscheint:
Code:
Leere Ausgabe


Bei
{% for item in Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute %}
{{ item[0] }}
{% endfor %}
erscheint:
Code:
 [Farbe, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Format, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Papier, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Umfang, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Verarbeitung, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Nutzen, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Seiten, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Gleiche-Bogen, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][R-D-Bogen, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Nutzen2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Seiten2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Gleiche-Bogen2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][R-D-Bogen2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][NutzenGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][SeitenGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Gleiche-BogenGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][R-D-BogenGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Offset-SM-ab, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Offset-GTO-ab, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Offset-Fremd-ab, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Typ, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][Typ2, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap][TypGTO, jtlDatabase.classes.AttributeMaps.AusgabeTexteMehrsprachigMap]


Bedeutet das also, dass es sich hier um ein verschachteltes Array in Abhängigkeit der Sprache handelt? Und wie bekomm ich da denn dann die Werte raus... dazu ist leider nix in der Dokumentation hinterlegt ^^

Habe das eben auch mit verschachtelten FOR-Abfragen getestet:
{% for item in Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute %}
{% for wert in item[6] %}
{{ wert[0] }}
{% endfor %}
{% endfor %}
Code:
Liquid error: Das Objekt des Typs "System.Int32" kann nicht in Typ "System.String" umgewandelt werden.
 
 Liquid error: Das Objekt des Typs "System.Int32" kann nicht in Typ "System.String" umgewandelt werden.
 
Zuletzt bearbeitet:

Dull

Gut bekanntes Mitglied
14. Juli 2014
129
12
Passau
Ok nach einigem tüfteln hier die Lösung, falls andere das ebenfalls brauchen können.

Die Verschachtelung muss in Attributgruppe, Attributname und Attributsprache entschachtelt werden (Sprache evtl. von Wawi-einstellungen abhängig). Das könnte in einem Beispiel so aussehen:

Code:
{% for item in Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.Attribute %}
 {% for wert in item[0] %}
    {% for wert2 in wert(HIER-ATTRIBUTNAME-EINFÜGEN) %}
        {{ wert2(Deutsch) }}
   {% endfor %}
 {% endfor %}
{% endfor %}
 
  • Gefällt mir
Reaktionen: 22143 und PAO1908
Ähnliche Themen
Titel Forum Antworten Datum
Neu Attribute Shopware-Connector 7
Neu Warnung: Attribute via JTL Funktion JTL_GetProductAttribute() funktioniert nicht zuverlässig Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu eBay Attribute - Ändern / Überschreiben JTL-Ameise - Fehler und Bugs 9
Neu Google Shopping – Missing sub-attribute [country] (Versandland fehlt) Plugins für JTL-Shop 6
Neu Lagerkommentar 1 per Workflow füllen User helfen Usern - Fragen zu JTL-Wawi 6
Labels setzen per v1/v2/GraphQL? JTL-Wawi 2.0 3
Neu JTL-Wawi Shopabgleich per E-Mail überwachen (Warnungen & Fehler) Onlineshop-Anbindung 1
Exportvorlage: Auftrag nur Artikel die per Dropshipping verfügbar sind in Datei schreiben JTL-Wawi 1.11 4
Neu JTL → Shopify Connector: MappingTablesException / „Endpoint id is empty“ – betroffene Artikel aus Logs per SQL finden Shopify-Connector 2
Neu [Suche 5 Beta-Tester] KI generiert JTL Shop 5 Templates per Beschreibung – kostenlos testen Templates für JTL-Shop 7
Neu Werte erhöhen per Workflow User helfen Usern - Fragen zu JTL-Wawi 4
Amazon Rechnungslayout geändert, per IDU wird trotzdem die alte Vorlage hochgeladen JTL-Wawi 1.9 2
In Diskussion Ort mit OT per Workflow bereinigen JTL-Workflows - Ideen, Lob und Kritik 3
Neu Banner per OPC auf Artikelseite Allgemeine Fragen zu JTL-Shop 5

Ähnliche Themen