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

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
37
5
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: 77

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
37
5
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
37
5
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.

Gut bekanntes Mitglied
15. Februar 2023
164
62
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
37
5
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.

Gut bekanntes Mitglied
15. Februar 2023
164
62
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
37
5
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
37
5
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.

Gut bekanntes Mitglied
15. Februar 2023
164
62
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
37
5
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
149
16
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.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Amazon Artikel mehrfach listen / Generelle Frage / Arbeitsabläufe in JTL-Wawi 0
Neu Frage zu Tickets aus dem öffentlichen Ticketsystem JTL-Wawi - Ideen, Lob und Kritik 5
Neu Frage an die (Hobby-) Controller: B2C Einzelhandel mit 6% Marketingbudget - das ist normal? Business Jungle 7
Neu Frage zur Rechtevergabe bei eigenen Übersichten Eigene Übersichten in der JTL-Wawi 0
Neu Wir kommt man um Trusted Shops herum? (SEO Frage?) Business Jungle 8
Neu Frage zu Kampagnen Allgemeine Fragen zu JTL-Shop 1
Neu Frage zur Korrekturbuchung User helfen Usern - Fragen zu JTL-Wawi 0
Neu Frage an Shopware User Shopware-Connector 1
Frage zum DATEV Rechnungsservice 2.0 - Vorkontierung und Aufteilung von Buchungen JTL-Wawi 1.9 1
Neu Spam über Frage zum Artikel User helfen Usern - Fragen zu JTL-Wawi 10
Neu Neues Zusatzfeld-Set für Shopware 6 in JTL erstellen (nicht nur custom_jtl) Shopware-Connector 0
GPSR umsetzen Kurzfassung für Dummys? JTL-Wawi 1.9 12
Neu Gratisgeschenke nicht verfügbar für Kundengruppe X - Warenkorb-Fehler JTL-Shop - Fehler und Bugs 0
Neu Kategorie für Webshop aktiv setzen unter Beibehaltung des aktiv-Status aller enthaltener Artikel User helfen Usern - Fragen zu JTL-Wawi 6
Neu XRechnung für WAWI 1.5 Smalltalk 26
GPSR für nur einen Artikel des Hersteller JTL-Wawi 1.9 2
Neu [Error][Code:21920427] Adressangaben für die verantwortliche Person sind unvollständig. Geben Sie für die Adresse bitte die Straße, den Ort, die PLZ eBay-Anbindung - Fehler und Bugs 4
Neu Versandklasse für Kindartikel wird falsch übertragen/überschrieben WooCommerce-Connector 0
Neu Effizientere Lösung für Wawi-Updates gesucht Installation von JTL-Wawi 7
Retoureneingang - keine Abfrage mehr für Seriennummer? JTL-Wawi 1.9 1
Neu Warenkorb für einzelne Produkte Deaktivieren Allgemeine Fragen zu JTL-Shop 3
Neu GSPR Amazon - Probleme für Wiederverkäufer von Markenprodukten Amazon-Anbindung - Fehler und Bugs 9
Neu Preisstaffelung bei Mengenverkauf für einen Artikel erstellen Allgemeine Fragen zu JTL-POS 0
Neu Darstellung / Schnellkauf für Variationen (Usability) Plugins für JTL-Shop 1
Neu JTL Wawi + Gambio Shop/Connector - einfachster Weg für GSPR? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Zählliste für Inventur drucken in Packtisch+ Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Update für Shopvote 1.1.0 führt zu SQL-Fehler Plugins für JTL-Shop 5
Neu Id für die Zonen im Banner herrausfinden Allgemeine Fragen zu JTL-Shop 0
Für JTL-Pos Pfand via Ameise anlegen JTL-Wawi 1.9 9
Neu WMS Lager kann für Pickliste nicht ausgewählt werden User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow o.Ä. gesucht für Versanddatenimport Arbeitsabläufe in JTL-Wawi 3
Neu Starter-Theme für JTL-Shop gesucht: performant, effizient und flexibel für mehrere Shops Templates für JTL-Shop 2
Neu Kann Artikel nicht für den Shop aktivieren User helfen Usern - Fragen zu JTL-Wawi 2
Neu Sichtbarkeit für Kundengruppen ausblenden User helfen Usern - Fragen zu JTL-Wawi 5
Fehlende Felder für GPSR-relevanten Informationen? 1.9.6.4 JTL-Wawi 1.9 13
Neu Fehler bei Zahlungsarten für Kundengruppen einstellen JTL-Shop - Fehler und Bugs 1
Neu Fehler bei Zahlungsarten für Kundengruppen einstellen Allgemeine Fragen zu JTL-Shop 1
Neu Steuerklassen, Steuerverwaltung und Steuerschlüssel für dummies User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL-SHOP - Fragen zur Backend-Statistik-Auswertung für Besucher Allgemeine Fragen zu JTL-Shop 3
1.9.6.4 Sammelthread für Probleme JTL-Wawi 1.9 68
Neu KI-Plugin für JTL-Shop - Eure Meinung ist gefragt! 🚀 🤖 Plugins für JTL-Shop 0
Neu Änderungen am Zahlungsabgleich für DKB-Kunden (FinTS) ab 24.11.2024 News, Events und Umfragen 0
Neu JTL Wawi 1.9.6.2 024-11 Kumulatives Update für .NET Framework 3.5 und 4.8.1 für Windows 11, version 23H2 für x64 (KB5045935) JTL-Wawi - Fehler und Bugs 2
Neu Kundengruppe Alle für Zahlungsart deaktivieren geht nicht JTL-Shop - Fehler und Bugs 12
Neu Bilder für den Cache werden nicht generiert JTL-Shop - Fehler und Bugs 1
1.9.6.x Sammelthread für Probleme JTL-Wawi 1.9 79
Neu Änderung Postgesetz, wird Kennzeichnung auch für DPD umgesetzt? JTL-ShippingLabels - Ideen, Lob und Kritik 8
Neu JTL Export Format Google Shopping für Shöpping Plugins für JTL-Shop 1
Neu Workflow für Otto.de Bestellungen über Amazon MCF Otto.de - Anbindung (SCX) 0
Neu Eigene Kategorien für ebay Angebote oder JTL Wawi Kategorie Baum nutzen Einrichtung und Installation von JTL-eazyAuction 1

Ähnliche Themen