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: 112

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
4.017
1.006
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
4.017
1.006
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
Umstellung auf 2.0, Frage zur Auf-Abwärtskompatibilität JTL-Wawi 2.0 2
Neu Frage zur Übertragung von JTL -> Shopify Shopify-Connector 1
Neu Frage zur mobilen WMS-Anwendung auf Android JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Frage zu SQL Statement - Kunden-Kommentar aus Auftrag auf Pickliste User helfen Usern - Fragen zu JTL-Wawi 1
Neu Retourenetikett für Briefe kann unter Internetmarke 2.0 nicht erstellt werden JTL-ShippingLabels - Fehler und Bugs 0
Neu Neue Tracking-URL für DPD JTL-ShippingLabels - Fehler und Bugs 4
AboutYou keine Felder für GPSR Daten SCX-(Ninepoint)-Anbindungen 0
globale Angebotsvorlage anpassen für eBay Angebote "Artikelspezifisch" JTL-Wawi 1.11 0
Neu Connectorupdates für Shopware 6.7.7 bzw 6.7.8? Shopware-Connector 34
Neu Streichpreise oder Rabatte für Staffelpreise von einem Artikel einrichten? Wie am Besten? JTL-Wawi 1.6 0
Neu DRIGEND HILFE!!! Ebay Abgleich endet mit Arithmetischer Überlauffehler für tinyint-Datentyp, Wert = -1. Die Anweisung wurde beendet. eBay-Anbindung - Fehler und Bugs 4
Neu Stornobeleg für Verkauf ohne Rechnung User helfen Usern - Fragen zu JTL-Wawi 9
Neu Neuentwicklung - Helpdesk für JTL Wawi - Eure Ideen und Wünsche? User helfen Usern - Fragen zu JTL-Wawi 4
Kein changelog für 1.11.8 JTL-Wawi 1.11 29
Text Vorbereitung für WAWI import JTL-Wawi 1.11 3
gelöst: Für diesen User wurde zum angegebenen Mandanten keine Firma gefunden!! JTL-Wawi 1.10 13
Neu Best Practices für den Export und die Automatisierung von täglichen Berichten in JTL‑WaWi User helfen Usern - Fragen zu JTL-Wawi 2
Mobile Web-App für JTL-WaWi — Aufträge, Artikel & Lager direkt vom Smartphone JTL-Wawi App 0
Neu Hilfe bei der Entwicklung gesucht: Werde Tester für meine JTL-Shop Plugins Plugins für JTL-Shop 0
Neu Workflow automatisch bei Warenausgang für Bestand und Puffer JTL-Wawi - Ideen, Lob und Kritik 12
Neu Für fiktive paginierte Kategorieseiten 404 statt 301 Allgemeine Fragen zu JTL-Shop 0
Neu Paypal Checkout Modul für Gambio bis GX 26.x Gambio-Connector 0
Neu Verlinkungen richtig setzen für mehrere Sprachen Allgemeine Fragen zu JTL-Shop 10
Neu JTW Wawi hängt beim Bearbeiten der Druckvorlage für Mahnungen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wero für den JTL Shop? Plugins für JTL-Shop 21
Neu Bilder von Plattform A auch für Plattform B aktivieren Arbeitsabläufe in JTL-Wawi 1
Neu Exchange Konto kann nicht eingerichtet werden für E-Mail Versand User helfen Usern - Fragen zu JTL-Wawi 2
weitere Angaben für eBay JTL-Wawi 1.11 1
Neu Versandklassen für Kategorien / Unterkategorien bzw. Artikel im Warenkorb User helfen Usern - Fragen zu JTL-Wawi 0
Neu Freelancer gesucht für Artikelpflege ( Herstellerkataloge / Preisänderungen einspielen) Dienstleistung, Jobs und Ähnliches 3
JTL-WAWI Datenbankprofil für neue Windows Benutzer JTL-Wawi 1.11 2
Neu Für die Weiterentwicklung und Betreuung unserer bestehenden Systemlandschaft suchen wir einen erfahrenen Freelancer (m/w/d) mit fundierten Kenntnissen JTL-Wawi App 1
Neu Platzhalter für OPC-Portlets in Seitentext einbauen Allgemeine Fragen zu JTL-Shop 1
Neu kann man JTL POS alleine nutzen für 29 Euro? Einrichtung / Updates von JTL-POS 0
Neu OSS aktiv – Ausnahme für Eventtickets mit deutschem Leistungsort möglich? Allgemeine Fragen zu JTL-Shop 6
Neu Lösung nötig für JTL 1.11+ !!! Fragen rund um LS-POS 3
Neu Widerrufsformular als kostenloses Plugin für Shops ab 5.1.5 Plugins für JTL-Shop 9
Aktuelles Update 1.11.7: Anmeldedialog merkt sich den letzten User immer noch nicht & falsche Warnung für angeblich fehlendes SQL Server Update JTL-Wawi 1.11 3
Neu Artikelmerkmale für eigenes Exportformat auslesen Betrieb / Pflege von JTL-Shop 1
Gesamtübersicht für Minusbuchen (Lagerbuchungstext) JTL-Wawi 1.10 2
Teilbare Artikel NICHT für Kunden, nur für intern teilbar JTL-Wawi 1.11 5
Neu Neue Preiserhöhung JTL April +~20% für Monatstarife, eingeschränkte "Funktionalitäten" User helfen Usern - Fragen zu JTL-Wawi 294
Neu Jecke Anfrage für Rosenmontag 🎉 – Kamelle & Werbegeschenke gesucht Smalltalk 0
Neu Suche DirectQuery für Kundenkommentar (Rechnung) & Hinweis (Lieferschein) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Coupon für Oberkategorie aktivieren User helfen Usern - Fragen zu JTL-Wawi 0
Neu vollständige Liste/Definition aller Importfelder für die JTL-Ameise JTL-Ameise - Fehler und Bugs 7
Neu Mehrere Label für GLS Retoure nicht möglich? JTL-ShippingLabels - Fehler und Bugs 0
Beantwortet Downloadfunktion für pdf dateien Allgemeine Fragen zu JTL-Shop 10
Neu Im- und Export-Vorlage für eBay Bestandsabgleich JTL-Ameise - Ideen, Lob und Kritik 0
Neu Neues Plugin: Sauberes Meta-Tracking für JTL-Shop 5 (Pixel + CAPI + Consent) Plugins für JTL-Shop 0

Ähnliche Themen