Neu Frage für's Verständnis: Eigene Felder in Druck- & E-Mail-Vorlage

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
38
6
Mal eine Frage zum Verständnis:

kann es sein, dass eigene Felder in den E-Mailvorlagen nur umständlich per SQL-Abfrage einzeln ausgelesen werden können?

Im Gegensatz zur Druckvorlage schaff ich es einfach nicht den Wert aus einem einzelnen eigenen Feld in die E-Mail zu kriegen.
Jedes Mal werden die Werte sämtlicher eigener Felder ausgelesen und in die E-Mailvorlage gepackt (s. Bild).
 

Anhänge

  • Mail-Vorlage.JPG
    Mail-Vorlage.JPG
    112,3 KB · Aufrufe: 104

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
38
6
Mit dem Filter Split und Remove solltest in der Regel die Felder auslesen können.
https://guide.jtl-software.com/jtl-wawi/vorlagen/standardfilter-in-dotliquid/

Mit einer SQL Abfrage sollte es immer funktionieren.
Ah, OK. Danke, der Split-Filter ist interessant.

Leider ist da nichts bei, das mein Problem löst, denn für "remove (first/last) müsste ich ja einen festen String haben, den ich definieren könnte.
Da ich aber a) nie weiß OB noch 1, 2... 5 weitere eigenen Felder gefüllt sind und b) keine Ahnung habe, was in den anderen Felder stehen könnte, funktioniert leider nichts von den Filtern.
Selbst, wenn ich wie bei Excel alles außer den letzten X Stellen löschen könnte, wüßte ich leider immer noch nicht, ob das Feld mit der Mitgliedsnummer auch immer wirklich am Ende steht.

Hast du vlt noch eine andere Idee?

Ich wäre ja dafür, dass jedes selbst angelegte eigenen Feld eine eindeutige interne ID bekommen, die dann neben/unter/über dem Feld klein angezeigt wird und die man dann entsprechend in den Vorlagen angeben kann.
Das wurde im Forum auch schonmal angeregt, allerdings hielt man das nicht für praktikabel, weswegen das in der Art nicht umgesetzt wurde/wird.
 
Zuletzt bearbeitet:

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
38
6
Ich würde die Variable für die eigenen Felder erstmal splitten nach dem Zeichen '|'.
Dann würde ich über das Array eine Schleife laufen lassen und prüfen, ob der Wert mit 'Mitglieds-Nr=' anfängt.
Mit assign und dem Filter remove kannst du den Wert in einer neuen Variablen speichern und nach der Schleife wiedergeben.

https://guide.jtl-software.com/jtl-wawi/vorlagen/allgemeine-beispiele-fuer-dotliquid/
OK.
Wenn ich angebe: {{ Vorgang.Kunde.EigeneFelderAlsText | Split: '|' }}
dann löscht es mir lediglich die Pipe aus dem String. Alles andere ist noch vorhanden.
Und mit "Remove" kann ich zwar die Öfnungszeiten bei diesem speziellen Kunden angeben, damit die gelöscht werden, aber wie soll das denn bei den 2.000 anderen Kunden funktionieren? Da kann ich ja nicht bei jedem reinschauen, was ich da zum löschen eintragen muss.

P.S.
Meine SQL-Kenntnisse reichen grade so, um in der Datenbank mal einen Wert zu finden.
 

kelvin.

Sehr aktives Mitglied
15. Februar 2023
166
65
Frankfurt
Mit Split bekommst du ein Array, also eine Art Liste mit allen eigenen Felder. In deinem Fall ein Array mit zwei Werten. Einmal die Anmerkung=... und einmal die Mitglieds-Nr=...

Damit definierst du die Variable array mit deren Werten und die Variable mitgliedsnr
Code:
{{ assign array = Vorgang.Kunde.EigeneFelderAlsText | Split: '|' }}
{{ assign mitgliedsnr = '' }}

Dann gehst du mit einer Schleife über alle Werte vom Array:
Code:
{% for item in array %}
{% if  Hier wird dann geprüft, ob item mit 'Mitglieds-Nr=' anfängt %}
und wenn ja, dann:
{{ assign mitgliedsnr = item | Remove: 'Mitglieds-Nr='  }}
{% endif %}
{% endfor %}
{{ mitgliedsnr }}

So grob müsste es aussehen, die if Abfrage muss noch angepasst werden.
 

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
38
6
Mit Split bekommst du ein Array, also eine Art Liste mit allen eigenen Felder. In deinem Fall ein Array mit zwei Werten. Einmal die Anmerkung=... und einmal die Mitglieds-Nr=...

Damit definierst du die Variable array mit deren Werten und die Variable mitgliedsnr
Code:
{{ assign array = Vorgang.Kunde.EigeneFelderAlsText | Split: '|' }}
{{ assign mitgliedsnr = '' }}

Dann gehst du mit einer Schleife über alle Werte vom Array:
Code:
{% for item in array %}
{% if  Hier wird dann geprüft, ob item mit 'Mitglieds-Nr=' anfängt %}
und wenn ja, dann:
{{ assign mitgliedsnr = item | Remove: 'Mitglieds-Nr='  }}
{% endif %}
{% endfor %}
{{ mitgliedsnr }}

So grob müsste es aussehen, die if Abfrage muss noch angepasst werden.
Also, wenn ich das richtig verstehe löscht "Split: '|'" mir in der Vorschau zwar die Pipe aus dem Text, teilt ihn aber im Hintergrund auf!?
Und bei "Remove" entferne ich quasi das was ich behalten möchte um es als neue Variable zur Verfügung zu stellen?
 

kelvin.

Sehr aktives Mitglied
15. Februar 2023
166
65
Frankfurt
Das ist die Variable EigeneFelderAlsText
Code:
Anmerkung=Mo.: 15:00 - 18:00 Uhr
Di.: 09:15 - 13:00 Uhr & 14:00 - 18:00 Uhr
Mi.: 09:15 - 13:00 Uhr & 14:00 - 18:00 Uhr
Do.: 09:15 - 13:00 Uhr
Fr.: 15:00 - 18:00 Uhr
Sa: 09:15 - 13:00 Uhr | Mitglieds-Nr=123456


Mit Split: '|' bekommst du
Code:
Anmerkung=Mo.: 15:00 - 18:00 Uhr
Di.: 09:15 - 13:00 Uhr & 14:00 - 18:00 Uhr
Mi.: 09:15 - 13:00 Uhr & 14:00 - 18:00 Uhr
Do.: 09:15 - 13:00 Uhr
Fr.: 15:00 - 18:00 Uhr
Sa: 09:15 - 13:00 Uhr
und
Code:
Mitglieds-Nr=123456
Das Zeichen '|' wird dabei entfernt.

Das kannst du auch überprüfen mit:
Code:
{{ assign array = Vorgang.Kunde.EigeneFelderAlsText | Split: '|' }}
{% for item in array %}
{{ item  }}
{% endfor %}

Um nur die Mitglieds-Nr zu bekommen musst du von:
Code:
Mitglieds-Nr=123456
die Zeichen
Code:
Mitglieds-Nr=
mit Remove entfernt werden.
 
  • Gefällt mir
Reaktionen: Bernd Wichtmann

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
38
6
Das ist die Variable EigeneFelderAlsText
Code:
Anmerkung=Mo.: 15:00 - 18:00 Uhr
Di.: 09:15 - 13:00 Uhr & 14:00 - 18:00 Uhr
Mi.: 09:15 - 13:00 Uhr & 14:00 - 18:00 Uhr
Do.: 09:15 - 13:00 Uhr
Fr.: 15:00 - 18:00 Uhr
Sa: 09:15 - 13:00 Uhr | Mitglieds-Nr=123456


Mit Split: '|' bekommst du
Code:
Anmerkung=Mo.: 15:00 - 18:00 Uhr
Di.: 09:15 - 13:00 Uhr & 14:00 - 18:00 Uhr
Mi.: 09:15 - 13:00 Uhr & 14:00 - 18:00 Uhr
Do.: 09:15 - 13:00 Uhr
Fr.: 15:00 - 18:00 Uhr
Sa: 09:15 - 13:00 Uhr
und
Code:
Mitglieds-Nr=123456
Das Zeichen '|' wird dabei entfernt.

Das kannst du auch überprüfen mit:
Code:
{{ assign array = Vorgang.Kunde.EigeneFelderAlsText | Split: '|' }}
{% for item in array %}
{{ item  }}
{% endfor %}

Um nur die Mitglieds-Nr zu bekommen musst du von:
Code:
Mitglieds-Nr=123456
die Zeichen
Code:
Mitglieds-Nr=
mit Remove entfernt werden.

🤦‍♂️ *Stöhn*
Klar. Sorry, ich bin Grafiker. Ich kann zwar die meisten Adobe-Programme, ein paar Fremdsprachen, HTML-, CSS-, PHP-Manipulation und ein paar Brocken SQL, aber ich bin halt kein Fachinformatiker.
Programmiersprachen etc. waren mir immer zu abstrakt. Ich kann zwar aus dem Verständniss um HTML/CSS einiges ableiten, aber ist immer wieder ein harter Brocken.
Aber: ich bin immer froh wieder was gelernt zu haben.
 

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
38
6
So, folgendes hab ich eingetragen:
Code:
{{ assign array = Vorgang.Kunde.EigeneFelderAlsText | Split: '|' }}
{{ assign mitgliedsnr = '' }}
{% for item in array %}
{% if item contains 'Mitglieds-Nr=' %}
{{ assign mitgliedsnr = item | Remove: 'Mitglieds-Nr='  }}
{% endif %}
{% endfor %}
{{ mitgliedsnr }}

Das Meiste hast Du mir ja netterweise vorgegeben.
Ich hab recherchiert und hab "if item contains" gefunden, das ich für die array-Abfrage nach der Mitgliedsnummer eingetragen hab.
Leider scheint das aber nicht das richtige zu sein... 🤔
 

kelvin.

Sehr aktives Mitglied
15. Februar 2023
166
65
Frankfurt
Code:
{%assign array = Vorgang.Kunde.EigeneFelderAlsText | Split: '|' %}
{% assign mitgliedsnr = '' %}
{% for item in array %}
{% if item contains 'Mitglieds-Nr=' %}
{% assign mitgliedsnr = item | Remove: 'Mitglieds-Nr='  %}
{% endif %}
{% endfor %}
{{ mitgliedsnr }}

So müsste es passen
 
  • Gefällt mir
Reaktionen: Bernd Wichtmann

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
38
6
Code:
{%assign array = Vorgang.Kunde.EigeneFelderAlsText | Split: '|' %}
{% assign mitgliedsnr = '' %}
{% for item in array %}
{% if item contains 'Mitglieds-Nr=' %}
{% assign mitgliedsnr = item | Remove: 'Mitglieds-Nr='  %}
{% endif %}
{% endfor %}
{{ mitgliedsnr }}

So müsste es passen
So, endlich schaff ich's zu antworten.

Vielen Dank :D:thumbsup: Damit klappt es super.
Ich musste aber erst feststellen, dass, wenn ich das Feld ansprechen will ich den Namen des Feldes noch hinter die "EigeneFelderAlsText"-Variable anhängen muss:
{{ Vorgang.Kunde.EigeneFelderAlsText.Mitglieds-Nr }}

Jetzt sieht es insgesamt wie folgt aus (und ließ sich auch auf andere eigene Felder anwenden):

Code:
Lieferanten- / Mitglieds-Nr.: 123456 / {{ Vorgang.Kunde.EigeneFelderAlsText.Mitglieds-Nr }}
{%assign array = Vorgang.Kunde.EigeneFelderAlsText | Split: '|' %}
{% assign mitgliedsnr = '' %}
{% for item in array %}
{% if item contains 'Mitglieds-Nr=' %}
{% assign mitgliedsnr = item | Remove: 'Mitglieds-Nr='  %}
{% endif %}
{% endfor %}
{{ mitgliedsnr }}
 

DrGreen

Gut bekanntes Mitglied
24. Dezember 2017
183
23
Hi ich suche nach einer Möglichkeit ein Eigenes Feld eines Auftrags in der E-Mail Vorlage anzuführen. Finde dazu leider nichts, bitte um Hilfestellung.
 

John

Sehr aktives Mitglied
3. März 2012
3.868
929
Berlin
Vermutlich nur per SQL.
Ich mußte gestern ein Eigenes Feld aus dem Bereich Firma in eine eMailvorlage bringen und das ging auch nur per SQL.
 

John

Sehr aktives Mitglied
3. März 2012
3.868
929
Berlin
Ich habe eben nochmal nachgeschaut.
Ist das nicht mit {{ Report.SalesOrderAttribute }} doch verfügbar?
Hast Du das mal probiert?
 
Ähnliche Themen
Titel Forum Antworten Datum
Update 1.9.8.0 auf 1.10.14.0 Frage zum Rechnungen IDU JTL-Wawi 1.10 0
Neu Frage: Artikelimport aus Amazonlisting von Drittanbietern User helfen Usern - Fragen zu JTL-Wawi 4
Neu Frage zur eBay-Artikelbeschreibung bei Variationskombinationen (Kindartikel mit eigenem Text und Bildern) eBay-Anbindung - Fehler und Bugs 5
Neu Frage zur Handhabung bei Import Vorlage JTL-Ameise - Fehler und Bugs 5
Neu Staffelpreise für Verpackungseinheiten Einrichtung von JTL-Shop4 2
Neu Kunden einen Retouren QR Code beim ausliefern mitschicken für Warenankauf ??? JTL-ShippingLabels - Fehler und Bugs 0
Neu Suche Freelancer für Aufsetzen JTL B2B Shop Dienstleistung, Jobs und Ähnliches 3
Gelöst Kartenleser für RKSV JTL-POS - Fragen zu Hardware 1
Neu Artikel nur für Admin sichtbar Allgemeine Fragen zu JTL-Shop 2
Neu Zusätzlicher Kundendisplay für Kassensystem iMin D4 Pro Einrichtung / Updates von JTL-POS 1
Neu Besteht Interesse an einer Versandschnittstelle für GEL-Express? Schnittstellen Import / Export 0
Neu Tailwind als Basis für JTL Shop 6 ? Templates für JTL-Shop 2
Neu Variablen für Kassenbon Einrichtung / Updates von JTL-POS 1
Neu Feature Requests für das News System Refactoring JTL-Shop - Ideen, Lob und Kritik 7
Neu Neues Plugin: JTL Closed Shop – Zugangsbeschränkung, Pre-Sale & Wartungsmodus für deinen JTL-Shop Plugins für JTL-Shop 1
Neu Falsche Währung in VCS-Lite Rechnungsvorlage bei anderem Land für Rechnung als Lieferung, HUF statt EUR Amazon-Anbindung - Fehler und Bugs 0
Gelöst Workflow-Trigger für Selbstabholung / FFN-Versand JTL-Workflows - Fehler und Bugs 2
Ameisenimport ignoriert Feld "Ist Standardlieferant für Dropshipping" JTL-Wawi 1.10 2
In Diskussion Workflow für bezahlte Aufträge eines bestimmten Lagers → Pickliste zu bestimmter Uhrzeit JTL-Workflows - Ideen, Lob und Kritik 2
Neu Bekomme ich hier im Forum für mein Projekt Support? User helfen Usern 8
Neu Fehlermeldung: Der angegebene Wert für "purchasable_offer" ist ungültig. | Fehlercode(s): (4000001) Amazon-Anbindung - Fehler und Bugs 11
Neu WMS-Lager lässt sich nicht anlegen – Meldung „Sie besitzen keine Lizenz für JTL-WMS“ trotz gebuchtem WMS Start Installation von JTL-WMS / JTL-Packtisch+ 3
Neu SQL Code für GPSR Felder (Kaufland) zeigt Fehler + wird daher nicht übertragen kaufland.de - Anbindung (SCX) 0
Neu SQL für noch nie Verkaufte Artikel auf Marktplätzen. User helfen Usern - Fragen zu JTL-Wawi 3
Neu PromoBar-Portlet für JTL-Shop 5 – Aktionsleiste, Gutschein & Countdown Plugins für JTL-Shop 1
Neu JTL-Shop-Template Technik – optimiert für Performance & Conversion Templates für JTL-Shop 5
Neu GA4-Tracking für JTL-Shop 5 – sauberes E-Commerce & Kategoriepfade Plugins für JTL-Shop 0
So aktivieren Sie FEFO (Zuweisung des zuerst ablaufenden Bestands) für Arbeitsaufträge. JTL-Wawi 1.10 0
Neu Versandkosten für bestimmte Produkte (AT = 0 €, Ausland = 180 €) Betrieb / Pflege von JTL-Shop 0
Neu Import von SEO Meta Daten für Plattform Woocommerce WooCommerce-Connector 3
Neu Welche URLs/Ports werden für den JTL Worker benötigt? User helfen Usern - Fragen zu JTL-Wawi 8
Neu Suche Dienstleister für Providerwechsel von Domainfactory zu All-Inkl Dienstleistung, Jobs und Ähnliches 12
Neu Suchen Wawi- und Shopspezialist (m/w/d) für Pflege von Bestandssystem inhouse in PLZ 24* Dienstleistung, Jobs und Ähnliches 0
Neu Zusätzliche Daten für jedes Produkt Technische Fragen zu Plugins und Templates 7
JTL-Workflows >> Aufträge >> Ausgeliefert >> Abrechnungsposition für Versandkosten hinzufügen JTL-Wawi 1.10 3
In Diskussion Workflow für das Austauschen von bestelltem Artikel in einem Auftrag gegen einen alternativen Artikel JTL-Workflows - Ideen, Lob und Kritik 3
Neu Import von SEO Meta Daten für Plattform Woocommerce JTL-Ameise - Ideen, Lob und Kritik 0
Neu Versandgewichte exportieren für Anbietervergleich JTL Ameise - Eigene Exporte 4
Neu JTL mit Shopify für Etsy anstatt JTL mit Unicorn2 - hat das jemand gemacht? Anbindung, bestehende Artikel mappen? Multishop? Shopify-Connector 2
Neu Suche Linux-Spezialisten für die Betreuung von unseren Servern Dienstleistung, Jobs und Ähnliches 1
Neu Werte für Merkmale oder Eigenschaften Amazon-Lister - Fehler und Bugs 0
Neu B2B Preis für JTL Wawi -> Amazon aktivieren, nur wie? User helfen Usern - Fragen zu JTL-Wawi 4
Workflow soll wenn Artikel 0 Bestand für 35 Tage hat diesen auf inaktiv setzen JTL-Wawi 1.10 4
Automatischer Workflow für Versand von Gutscheinen versendet den Gutschein nicht JTL-Wawi 1.10 2
Workflow für Benachrichtigung bei Stammkunden JTL-Wawi 1.10 9
Ameise Preisimporte für Marktplätze funktionieren nicht JTL-Wawi 1.10 1
Neu Druckvorlagensets für Kundengruppen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 7
Neu Workflow Versandart prüfen und im Auftrag setzen - speziell für Stücklistenartikel User helfen Usern - Fragen zu JTL-Wawi 0
Neu Seagull Treiber für den Zebra LP2844 JTL-ShippingLabels - Fehler und Bugs 0
Neu In welcher Tabelle werden die Daten für den Amazon Lister 2.0 gespeichert? Amazon-Lister - Fehler und Bugs 5

Ähnliche Themen