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

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
28
1
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: 71

Bernd Wichtmann

Aktives Mitglied
15. Dezember 2020
28
1
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
28
1
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
162
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
28
1
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
162
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
28
1
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
28
1
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
162
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
28
1
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
144
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 Frage zu Plugin Entwicklung : IO Request im Admin Technische Fragen zu Plugins und Templates 2
Neu Frage zur Plugin Entwicklung Plugins für JTL-Shop 3
Neu Frage zur Kartonagen Verwaltung in JTL WMS 1.8 - Karton per Scan ersetzen? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Frage: Webrequest mit Dateiübertragung JTL-Wawi 1.9 0
Gelöst Frage zur Kompatibilität eines Druckers JTL-POS - Fragen zu Hardware 1
Frage: 🐌🐌🐌JTL-Wawi 1.9 - Wie schnell öffnet sich bei euch die Auftragsansicht? JTL-Wawi 1.9 78
Neu Planung & Konzeptphase: Frage zur Umsetzung User helfen Usern - Fragen zu JTL-Wawi 1
Neu Frage zu. errorlog-Einträgen Gelöste Themen in diesem Bereich 4
Keywords für Kaufland in Kurzbeschreibung JTL-Wawi 1.9 0
Neu Cookies für Google Ads User helfen Usern - Fragen zu JTL-Wawi 0
Neu Anzeige der Seriennummer nur für den Wareneingang Eigene Übersichten in der JTL-Wawi 0
In Diskussion Workflow für eBays neues "Kaufabbruch"-Feature JTL-Workflows - Ideen, Lob und Kritik 2
Neu Amazon Für das Feld "Preis mit Steuern zur Anzeige eBay-Anbindung - Fehler und Bugs 2
Neu Anlegen einer eigenen Seite ohne Text für externen Link nicht möglich JTL-Shop - Fehler und Bugs 2
Rechnungslegung für verschiedene Bezahlarten aus B2B & B2C JTL-Wawi 1.9 1
Neu Soehnle Waage für anstehende DHL Wiegepflicht... Waage zu alt? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 4
Neu 2 verschiedene Lager - Trennung - nur ein Lager für WMS Versand möglich ? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow für Warenpost nur wenn bestimmte Artikel in Bestellung User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL-WAWI für Windows 11 on ARM Installation von JTL-Wawi 1
Netto Rechnungen für B2B JTL-Wawi 1.9 4
Neu Für den Shop-Connector konnte kein Steuersatz zugeordnet werden. WooCommerce-Connector 0
Neu Endlich Vertreterprovsionen für JTL-Wawi mit arpaTools ProviMate User helfen Usern 0
Neu JTL WAWI - Suche nach Designer für eBay-Vorlage mit CLP-Feldern Dienstleistung, Jobs und Ähnliches 0
Neu Amazon Abgleich Fehler - Hotfix für Version 1.5.55.8 funktioniert nicht JTL-Wawi - Fehler und Bugs 5
Neu Artikelbilder für mehrere Sprachen Technische Fragen zu Plugins und Templates 2
Neu Extra Versandkostenbetrag für Schnellversand möglich? Gelöste Themen in diesem Bereich 4
Neu Plugins für den Shopify Connector Shopify-Connector 1
Neu E-Commerce Manager (m/w/d) für den Zweiradbereich bei MSZweirad in Heinsberg Dienstleistung, Jobs und Ähnliches 0
Neu Lager sperren für POS Allgemeine Fragen zu JTL-POS 0
Neu Kleines PHP Skript für MySQL Shop Datenbank Backup - gratis Betrieb / Pflege von JTL-Shop 3
Neu Suche nach zuverlässigen Lieferanten für umweltfreundliche Kartonagen mit Höhenriller Smalltalk 1
Neu Amazon VCS keine Rechnungsstellung für Lieferungen in die Türkei JTL-Wawi - Fehler und Bugs 2
Neu günstiger Anbieter für Kartenzahlung mit Gerät gesucht User helfen Usern - Fragen zu JTL-Wawi 3
Neu Neu: Das innovative Anzahlungs-Tool für JTL Wawi und JTL POS! Arbeitsabläufe in JTL-Wawi 0
In Diskussion Geplante Abkündigung für JTL-POS für Android 7 Geräte wie Sunmi T2 in Sicht? JTL-POS - Fragen zu Hardware 16
JTL Wawi Statistiken für die JTL Wawi App JTL-Wawi App 0
Neu Kategoriebilder für erste Unterkategorie auch auf dem handy anzeigen lassen Templates für JTL-Shop 2
Rechnungsadresse Email Workflow Bedingungen für Rechnung erstellt fehlt JTL-Wawi 1.8 0
Neu html code für Bewertungssiegel. Wohin? Gelöste Themen in diesem Bereich 4
Servicepartner für Shopumzug von 4 auf 5 inkl. Plugins gesucht Upgrade JTL-Shop4 auf JTL-Shop5 3
Neu MDE Scanner ständig in der Ladestation - schädlich für den Akku? Installation von JTL-WMS / JTL-Packtisch+ 0
Neu Mindestbestellwert für B2B und B2C Allgemeine Fragen zu JTL-Shop 7
Neu Per Plugin Felder für das Newsletter-Anmeldungs-Template hinzufügen Technische Fragen zu Plugins und Templates 2
Neu 💙 Neues Plugin: Multi Page Portlets für OPC ( 1 Portlet auf mehreren Seiten ) Plugins für JTL-Shop 0
In Diskussion Idee für Workflow - Lagerbewertung zum Monatsende an das Steuerbüro JTL-Workflows - Ideen, Lob und Kritik 2
Neu Effiziente Performance-Analyse für JTL-Shops User helfen Usern 3
Neu Reihenfolge der Artikelbilder für eine Plattform ändern Gelöste Themen in diesem Bereich 3
Neu Einstellung Standardsortierung überschreibt individuelle Sortierung für "besondere Artikel" JTL-Shop - Fehler und Bugs 1
In Diskussion Custom Workflows nur noch für Premiumkunden - unsinnige Einschränkung, die keine ist JTL-Workflows - Ideen, Lob und Kritik 4
Neu REST-API nur noch für Premium Kunden - oder wie verhindere ich Nutzung moderner Schnittstellen... Schnittstellen Import / Export 37

Ähnliche Themen