Filter in DotLiquid
Mithilfe der Filter steuern Sie unterschiedliches Aussehen oder Funktionieren Ihrer Variablen, z.B. der Variable Artikelname, bekannt aus dem Dialogfenster Artikelstammdaten> Registerkarte: Beschreibung.
Im Folgenden sehen Sie den Editor der eBay-Designvorlagen, die Filter zur Variable sind im Kontextmenü auswählbar (Bereich: B). Die Filter sind auch direkt im Editor dokumentiert (Bereich: E).
AttributeMapFilters
Alle Gefüllte Felder (GetAllFilledItems)
Gibt eine Liste von Wertepaaren (Name, Wert) aller Feldern zurück, deren Wert gefüllt.
Details
Parameter: Dropifier dropifier, String sprache
Rückgabe: List`1
Alle Variablen (GetAllItems)
Gibt eine Liste von Wertpaaren (Variablenname, Variablenwert) zurück.
Details
Parameter: IMapIsMultilingual multilingualMap, String sprache
Rückgabe: List`1
Alle Felder (GetAllItems)
Gibt eine Liste von Wertepaaren (Name, Wert) aller Felder zurück.
Details
Parameter: Dropifier dropifier, String sprache
Rückgabe: List`1
Feld (GetItem)
Gibt den Wert des gesuchten Feldes in der gewählten Sprache zurück.
Beispiel – Zahlung in Deutsch
Gibt den Wert des Feldes ‚Zahlung‘ in der Sprache ‚Deutsch‘ zurück
{{ GlobaleTexte.eBay | GetItem: 'Zahlung', 'Deutsch' }} -->
Details
Parameter: IMapIsMultilingual globaleTexteMap, String feld, String sprache
Rückgabe: String
AusgabeTexteFilters
Sprache (SelectLanguage)
Gibt den Wert in der gewählten Sprache zurück.
Beispiel – Die in der Wawi gesetzte Standard Sprache
{{ | SelectLanguage: 'StandardSprache' }} -->
Details
Parameter: IMerkmaleMehrsprachigMap ausgabeTexteMehrsprachigMap, String sprache
Rückgabe: Object
WähleSprache (SelectLanguage)
Gibt den Inhalt der Variable in der angegebenen Sprache zurück.
Beispiel – Standard Sprache
Gibt den Inhalt der Variable in der Standard-Sprache zurück.
{{ Artikel.Allgemein.PreiseEinheiten.Masseinheit | SelectLanguage: 'StandardSprache' }} -->
Beispiel – Deutsch
Gibt den Inhalt der Variable in Deutsch zurück
{{ Artikel.Allgemein.PreiseEinheiten.Masseinheit | SelectLanguage: 'Deutsch' }} -->
Details
Parameter: AusgabeTexteMehrsprachigMap ausgabeTexteMehrsprachigMap, String sprache
Rückgabe: Object
CsvFilters
Formatieren für CSV (PrepareForCsv)
Eingabetext für CSV-Export formatieren.
Beispiel – Eingabestring formatieren
Durch den setcsv-Tag werden die Parameter für das Formatieren des Eingabestrings definiert.
{% setcsv QuoteChar = ‚“‚ %}- Quoted das CSV-Feld mit doppelten Anführungszeichen.
{% setcsv EscapeChar = ‚\‘ %}- Mit dem Escape-Zeichen wird kenntlich gemacht, dass das nachfolgende Quote-Zeichen anders als normal interpretiert werden soll.
{% setcsv SeparatorChar = ‚;‘ %}- Semikolon als Trennzeichen verwenden
{% setcsv InvalidCharsRegEx = ‚#|;‘ %}- Die Zeichen # und ; werden aus dem Feld entfernt
{{ 'Beispiel; # "mit" Seperator' | PrepareForCsv: 30, true }} --> "Beispiel \"mit\" Seperator";
Details
Parameter: String cValue, Int32 maxLength, Boolean includeSeparator
Rückgabe: String
DateTimeFilters
Datum in DotLiquid
In JTL-Wawi verwendet der Date-Filter nicht die Ruby-Schreibweise, sondern die aus anderen Prozessen bekannte Schreibweise aus C-Sharp (C#).
Folgende Möglichkeiten stehen zur Datumsformatierung bereit, wichtig ist die Groß- und Kleinschreibung zu beachten:
Dazu einige C#-Beispiele
Wir haben in unseren Beispielen den 18.11.2013 um 16:04:07 Uhr GMT+1 Deutschland.
{{ Datum.Jetzt | Datum:'y yy yyy yyyy' }} #=> 3 13 013 2013
{{ Datum.Jetzt | Datum:'M MM MMM MMMM' }} #=> 11 11 Nov November
{{ Datum.Jetzt | Datum:'d dd ddd dddd' }} #=> 18 18 Mon Montag
{{ Datum.Jetzt | Datum:'h hh H HH' }} #=> 4 04 16 16
{{ Datum.Jetzt | Datum:'m mm' }} #=> 4 04
{{ Datum.Jetzt | Datum:'s ss' }} #=> 7 07
{{ Datum.Jetzt | Datum:'t tt' }} #=> P PM
{{ Datum.Jetzt | Datum:'z zz zzz' }} #=> +1 +01 +01:00
{{ Datum.Jetzt | Datum:'ddMMyyyy HHmmss zzz' }} #=> 18112013 160407 +01:00
Lokale Zeit- und Datumstrennzeichen
Es ist außerdem möglich Datums- oder Zeitseperatoren zu verwenden, um eine gut leserliche Ausgaben zu gewährleisten. Als Datumsseperator kann der Schrägstrich / (Slash) und als Uhrzeittrenner der Doppelpunkt verwendet werden. Diese Zeichen werden automatisch in die landestypischen Symbole umgewandelt.
{{ Datum.Jetzt | Datum:'dd/MM/yyyy HH:mm:ss' }} #=> in Amerika 18/11/2013 16:04:07
{{ Datum.Jetzt | Datum:'dd/MM/yyyy HH:mm:ss' }} #=> in Deutschland 18.11.2013 16:04:07
Weitere Beispiele zur Formatierung
In den folgenden Beispielen schreiben wir den 06.08.2013 um 09:54:22 Uhr GMT+1 Deutschland.
# Monate und Wochentage ausgeschrieben
{{ Datum.Jetzt | Datum:'ddd, MMM d, yyyy' }} #=> Die, Aug 6, 2013
{{ Datum.Jetzt | Datum:'dddd, MMMM d, yyyy' }} #=> Dienstag, August 6, 2013
# Monate und Tage ohne führende Nullen
{{ Datum.Jetzt | Datum:'M/d/yyyy' }} #=> 8/6/2013
{{ Datum.Jetzt | Datum:'MM/dd/yyyy' }} #=> 08/06/2013
# Zwei- und vierstellige Jahreszahl
{{ Datum.Jetzt | Datum:'dd/MM/yy' }} #=> 06/08/13
{{ Datum.Jetzt | Datum:'dd.MM.yyyy' }} #=> 06.08.2013
Addiere Zeit (AddTime)
Addiert auf das Datum die angegebene Zahl Tage, Monate und/oder Jahre
Beispiel – Zeit addieren
{{ Datum.Jetzt | AddTime: '0003-02-01' }} --> 17.11.2018 13:52:05
Das Datum wird nach folgendem Muster angegeben: JJJJ-MM-TT, also Jahr-Monat-Tag, z. B. 2019-08-05 für den 5. August 2019.
Details
Parameter: DateTime dValue, String cValue
Rückgabe: DateTime
Formatiere Datum (FormatDate)
Formatiert die Datumsangabe
Beispiel – Datum formatieren
{{ Datum.Jetzt | FormatDate: 'dddd dd MMMM', 'en-US' }} --> Wednesday 16 September
Beispiel – Datum formatieren
Formatiert das Datum gemäß ISO-Norm 8601
{{ Datum.Jetzt | FormatDate: 'yyyy-MM-dd', 'de-DE' }} --> 2015-09-16
Details
Parameter: DateTime dValue, String cFormat, String cLocale
Rückgabe: String
Addiere Jahre (AddYears)
Addiert auf das Datum die angegebene Zahl an Jahren
Beispiel – Jahre addieren
{{ Datum.Jetzt | AddYears: 10 }} --> 26.09.2027 13:52:05
Details
Parameter: Nullable`1 dValue, Double years
Rückgabe: Nullable`1
Addiere Monate (AddMonths)
Addiert auf das Datum die angegebene Zahl an Monaten
Beispiel – Monate addieren
{{ Datum.Jetzt | AddMonths: 3 }} --> 16.12.2015 13:52:05
Details
Parameter: Nullable`1 dValue, Int32 months
Rückgabe: Nullable`1
ImageFilters
Als Base64 codieren (Base64Encode)
Konvertiert den Wert des Bildes in die mit Base-64-Ziffern codierte Zeichenfolgendarstellung. Dies dient z.B. zur Darstellung von Inline-Grafiken in HTML-Seiten.
Beispiel - Als Base64 codieren
--> <img src="data:image/jpg;base64,Liquid error: Der Wert darf nicht NULL sein. Parametername: inArray" height="100" width="100"/>
<img src="data:image/jpg;base64,{{ Vorgang.Bilder.Bild | Base64Encode}}" height="100" width="100"/>
Details
Parameter: Byte[] imageData
Rückgabe: String
Größe ändern (Resize)
Ändert die Größe und Format (gif, png, jpg) des Bildes
Beispiel - Größe ändern
Ändert die Größe auf 50×50 Pixel und konvertiert den Wert des Bildes in die mit Base-64-Ziffern codierte Zeichenfolgendarstellung (seihe „Als Base64 codieren“).
--> <img src="data:image/jpg;base64,Liquid error: Der Wert darf nicht NULL sein.
<img src="data:image/jpg;base64,{{ Vorgang.Bilder.Bild | Resize : 50,50,'jpg' | Base64Encode }} " />
Details
Parameter: Byte[] imageData, Int32 width, Int32 height, String format
Rückgabe: Byte[]
ListFilters
Liste gefüllt (IsListFilled)
Prüft, ob die Liste gefüllt ist.
Details
Parameter: IList value
Rückgabe: Boolean
Sum (Sum)
Berechnet die Summe der angegebenen Eigenschaft im Array. Wenn nicht angegeben, wird die Summer der Werte im Array berechnet.
Details
Parameter: Object input, String property
Rückgabe: Double
Where (Where)
Beschränkt das eingegebene Array anhand eines Eigenschaftswertes, wenn angegeben. Andernfalls gibt die Funktion alle wahren, im Array vorhandenen Werte zurück
Details
Parameter: Object input, String property, Object value
Rückgabe: IEnumerable
NumericFilters
Als Zahl (ToDouble)
Wandelt den Eingabetext in eine Zahl um
Beispiel – Als Zahl
{{ '5,5' | ToDouble }} --> 5,5
Details
Parameter: String cValue
Rückgabe: Double
Nummer (FormatNumber)
Formatiert eine Zahl entsprechend der Formatzeichenfolge und dem Land
Beispiel – Zahl deutsch, zweistellig
Formatiert eine Zahl deutsch mit zwei Nachkommastellen
{{ 5.8 | FormatNumber: 'N2', 'de-DE' }} --> 5,80
Beispiel – Zahl amerikanisch, zweistellig
Formatiert eine Zahl amerikanisch mit zwei Nachkommastellen
{{ 5.8 | FormatNumber: 'N2', 'en-US' }} --> 5.80
Details
Parameter: Decimal fValue, String cFormatString, String cCultureName
Rückgabe: String
RendererFilters
Eingabe rendern (Render)
Rendert den Eingabetext
Beispiel – Rendern einer Globalen Textvorlage
In den Globalen Textvorlagen wird in eBay.Versand folgender Text für die Sprache Deutsch hinterlegt:
{{ GlobaleTexte.eBay.Versand.Deutsch | Render }} -> Der Versand erfolgt am 21.09.2015 13:52:05
Der Versand erfolgt am {{ Datum.Jetzt | AddDays: 5 }}
Details
Parameter: String cValue
Rückgabe: String
SqlFilters
Komplexe SQL Abfragen (DirectQuery)
Führt eine komplexe SQL-Abfrage aus und gibt diese als SQLResult aus.
Beispiel - Die 5 zuletzt angelegten Artikel
{% assign Artikel = 'SELECT TOP 5 * FROM tArtikel ORDER BY dErstelldatum DESC' | DirectQuery %}
{% for item in Artikel.Daten %}
{{ item.cArtNr }}
{% endfor %}
40-003
40-002
40-001
40
36-012
Details
Parameter: String query
Rückgabe: SqlResult
Formatiere für SQL (SqlEscape)
Der Filter setzt jedem Hochkomma in einem String, ein weiteres Hochkomma voran, es erfolgt das sogenannte Escapen, um Fehler im Programmcode zu vermeiden.
Beispiel – Live
{{ 'foo' | SqlEscape }} --> foo
Details
Parameter: Object item
Rückgabe: String
Einfache SQL Abfragen (DirectQueryScalar)
Führt eine einfache SQL-Abfrage aus, die genau ein Ergebnis zurück gibt.
Beispiel – Anzahl aller Bestellungen
{% assign result = 'SELECT COUNT(*) FROM tBestellung' | DirectQueryScalar %}Es gibt {{ result }} Bestellungen.
Es gibt 108 Bestellungen.
Details
Parameter: String query
Rückgabe: Object
TextFilters
Quotieren (Quote)
Quotiert eine Zeichenfolge
Beispiel – Live
{{ 'foo' | Quote: '"' }} --> "foo"
Beispiel – In doppelten Anführungszeichen
Quoted die Zeichenfolge mit doppelten Anführungszeichen
{{ 'foo' | Quote: '"' }} --> "foo"
Beispiel – In einfachen Anführungszeichen
Quoted die Zeichenfolge mit einfachen Anführungszeichen
{{ 'foo' | Quote: "'" }} --> 'foo'
Details
Parameter: String cValue, String cQuoteCharacter
Rückgabe: String
Ist gefüllt (IsFilled)
Prüft, ob die Zeichenfolge nicht leer ist.
Beispiel – Live
{{ 'foo' | IsFilled }} --> true
Details
Parameter: String value
Rückgabe: Boolean
Datum gesetzt (IsFilled)
Prüft, ob ein Datum gesetzt ist.
Beispiel – Live
{{ Datum.Jetzt | IsFilled }} --> true
Details
Parameter: DateTime value
Rückgabe: Boolean
Zahl ungleich 0 (IsFilled)
Prüft, ob die Zahl ungleich 0 ist.
Beispiel – Live
{{ 81 | IsFilled }} --> true
Details
Parameter: Int32 value
Rückgabe: Boolean
Als Dateiname (PrepareFilename)
Entfernt alle ungültigen Zeichen aus dem Dateinamen.
Beispiel – Live
{{ 'foo' | PrepareFilename }} --> foo
Beispiel – Sonderzeichen
{{ Dat|ei\name?"<xy*>.txt | PrepareFilename }} -->
Details
Parameter: String value, String replacement
Rückgabe: String
Glätten (Trim)
Entfernt führende und nachfolgende Leerzeichen einer Zeichenfolge
Beispiel – Live
{{ 'foo' | Trim }} --> foo
Details
Parameter: String value
Rückgabe: String
Enthält (Matches)
Prüft, ob die eingegebene Zeichenfolge in dem Eingabetext vorhanden ist.
Beispiel – Nicht auf Groß- und Kleinschreibung achten
Prüft, ob der Eingabetext ‚FooBar‘ die Zeichenfolge ‚ba‘ enthält, wobei die Groß- und Kleinschreibung ignoriert wird.
{{ 'FooBar' | Matches: 'ba', true }} --> true
Beispiel – Auf Groß- und Kleinschreibung achten
Prüft, ob der Eingabetext ‚FooBar‘ die Zeichenfolge ‚ba‘ enthält, wobei die Groß- und Kleinschreibung beachtet wird.
{{ 'FooBar' | Matches: 'ba', false }} --> false
Beispiel – Regulärer Ausdruck
Prüft mit einem regulären Ausdruck, ob der Eingabetext ‚12345‘ nur aus Zahlen besteht.
{{ '12345' | Matches: '^\d*$' }} --> true
Details
Parameter: String value, String pattern, Boolean ignoreCase
Rückgabe: Boolean
Nur Vorwahl (SelectAreaCode)
Liefert die Vorwahl aus einer Zeichenfolge
Beispiel – Nur Vorwahl
{{ '02433 8056801' | SelectAreaCode }} --> 02433
Beispiel – Live
{{ 'foo' | SelectAreaCode }} -->
Details
Parameter: String cValue
Rückgabe: String
Formatiere für XML (XmlEscape)
Entfernt Sonderzeichen für die Verwendung in XML.
Beispiel – Live
{{ 'foo' | XmlEscape }} --> foo
Details
Parameter: Object item
Rückgabe: String
Entferne Straße (DeleteStreet)
Liefert nur die Hausnummer von einer Zeichenfolge
Beispiel – Live
{{ 'foo' | DeleteStreet: true }} --> foo
Beispiel – Auf Reihenfolge Achten
Bei z.B. französischen Straßen steht die Hausnummer vorne
{{ '8 Rue de France' | DeleteStreet: true }} --> 8
Beispiel – Hausnummer steht am Ende
Die Hausnummer steht, wie bei deutschen Straßen am Ende
{{ 'Hans-Böckler-Straße 163' | DeleteStreet: false }} --> 163
Details
Parameter: String cValue, Boolean aufReihenfolgeAchten
Rückgabe: String
Entfernt Hausnummer (DeleteHousenumber)
Entfernt die Hausnummer von einer Zeichenfolge und gibt nur den Straßennamen zurück
Beispiel – Live
{{ 'foo' | DeleteHousenumber: true }} --> foo
Beispiel – Hausnummer steht am Ende
Die Hausnummer steht, wie bei deutschen Straßen am Ende
{{ 'Hans-Böckler-Straße 163' | DeleteHousenumber: false }} --> Hans-Böckler-Straße
Beispiel – Auf Reihenfolge Achten
Bei z.B. französischen Straßen steht die Hausnummer vorne
{{ '8 Rue de France' | DeleteHousenumber: true }} --> Rue de France
Details
Parameter: String cValue, Boolean aufReihenfolgeAchten
Rückgabe: String
Links ausrichten (AlignLeft)
Fügt nach dem Eingabetext soviele Leerzeichen an, bis die angegebene Länge erreicht ist.
Beispiel – Live
{{ 'foo' | AlignLeft: 50 }} --> foo
Details
Parameter: String value, Int32 width
Rückgabe: String
Rechts ausrichten (AlignRight)
Fügt vor dem Eingabetext so viele Leerzeichen an, bis die angegebene Länge erreicht ist.
Beispiel – Live
{{ 'foo' | AlignRight: 50 }} --> foo
Details
Parameter: String value, Int32 width
Rückgabe: String