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:

  • y => Jahr
  • M => Monat
  • d => Tag
  • h => 12er Stunden
  • H => 24er Stunden
  • m => Minuten
  • s => Sekunden
  • t => AM / PM (Vor-/Nachmittag)
  • z => Zeitzone

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.

ACHTUNG Inline-Grafiken sind in eBay-Designvorlagen nicht anwendbar, da die HTML-Datei zu groß werden würde.

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“).

Hinweis: Inline-Grafiken sind in eBay-Designvorlagen nicht anwendbar, da die HTML-Datei zu groß werden würde.
--> <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

Hinweis: Die Filter Sum und Where sind erst ab JTL-Wawi-Version 1.6.32.1. integriert. JTL-Wawi 1.6 befindet sich aktuell noch in der Open-Beta-Phase!

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

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