Inhaltsverzeichnis

    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

    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