Letzte Änderung: 28. August 2025
Filter beeinflussen die endgültige Ausgabe Ihres HubL-Codes. Sie können auf verschiedene HubL-Anweisungen und -Ausdrücke angewendet werden, um das vom Server ausgegebene Template-Markup zu ändern. Die grundlegende Syntax eines Filters ist |filtername. Der Filter wird direkt nach der Anweisung oder dem Ausdruck innerhalb seiner Trennzeichen eingefügt. Einige Filter haben zusätzliche Parameter, die in Klammern hinzugefügt werden können. Die grundlegende Syntax eines Filters mit einem String, einer Zahl und einem booleschen Parameter lautet: |filtername("stringParameter", 10, true). Beachten Sie, dass String-Parameter in Anführungszeichen geschrieben werden sollten. Beachten Sie auch, dass HubL-Filter einen Alias haben, der für denselben Zweck wie der primäre Filter verwendet werden kann. Der folgende Artikel enthält alle unterstützten HubL-Filter.

Bitte beachten:

Sie können HubL-Filter auf Personalisierungstoken wie Kontakt- und Unternehmens-Token auf HubSpot CMS- und Blog-Seiten anwenden, jedoch nicht in E-Mails.

abs

Ruft den Absolutwert einer Zahl ab. Sie können diesen Filter verwenden, um sicherzustellen, dass eine Zahl positiv ist.
{% set my_number = -53 %}
{{ my_number|abs }}

add

Addiert einen numerischen Wert zu einem anderen numerischen Wert. Dieser Filter funktioniert genauso wie der Operator +. Der Parameter in Klammern ist der Summand, den Sie mit Ihrem numerischen Ausgangswert kombinieren.
{% set my_num = 40 %}
{{ my_num|add(13) }}

attr

Gibt das Attribut eines Dictionarys wieder; Dieser Filter entspricht dem Ausgeben einer Variablen, die in einem Wörterbuch vorhanden ist, z. B. content.absolute_url.
{{ content|attr("absolute_url") }}
ParameterBeschreibung
attribute_nameGibt an, welches Attribut gedruckt werden soll.

batch

Gruppiert Elemente innerhalb einer Sequenz. Im folgenden Beispiel gibt es eine Variable, die eine Sequenz von Obstsorten enthält. Der batch-Filter wird auf eine Schleife angewendet, die die Sequenz durchläuft. Die geschachtelte Schleife wird dreimal durchlaufen, um 3 Obstsorten pro Zeile auszugeben, bevor die äußere Schleife erneut läuft. Beachten Sie in der endgültigen Ausgabe, dass, da es nur 5 Obstsorten gibt, das letzte Element durch ein   (den zweiten Parameter) ersetzt wird.
{% set rows = ["apples", "oranges", "pears", "grapes", "blueberries"] %}

<table>
{% for row in rows|batch(3, " ") %}
<tr>
{% for column in row %}
<td>{{ column }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
ParameterTypBeschreibung
linecountZahlAnzahl der in den Batch aufzunehmenden Elemente
fill_withZeichenfolgeGibt an, was eingeschlossen werden soll, um fehlende Elemente zu ergänzen

between_times

Berechnet die Zeit zwischen zwei datetime-Objekten in einer bestimmten Zeiteinheit.

Bitte beachten:

Sie sollten diesen Filter nur für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter „30. September 2024“ zurückgegeben.
{% set begin = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{% set end = "2018-07-20T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ begin|between_times(end, "days") }}
ParameterTypBeschreibung
enddatetime-ObjektDas End-datetime-Objekt
timeunitZeichenfolgeGültige Zeiteinheiten sind nanos, micros, millis, seconds, minutes, hours, half_days, days, weeks, months, years, decades, centuries, millennia und eras.

bool

Konvertiert einen Text-String-Wert in einen booleschen Wert.
{% if "true"|bool == true %}hello world{% endif %}

capitalize

Großschreibung des ersten Buchstabens eines Variablenwerts; Das erste Zeichen wird großgeschrieben, alle anderen Buchstaben werden kleingeschrieben. Bei nachfolgenden Wörtern, die durch Leerzeichen oder Bindestriche getrennt sind, wird der erste Buchstabe nicht großgeschrieben.
{% set sentence = "the first letter of a sentence should always be capitalized." %}
{{ sentence|capitalize }}

center

Zentriert Text innerhalb einer bestimmten Feldlänge unter Verwendung von Leerzeichen; Dieser Filter wird nicht empfohlen und ist auch nicht besonders nützlich, da der HTML-Compiler von HubSpot die Leerzeichen automatisch entfernt; er ist hier jedoch der Vollständigkeit halber aufgeführt. Das folgende Beispiel zeigt, wie dieser Filter auf eine Variable in einem pre-Tag angewendet wird, sodass die Leerzeichen nicht entfernt werden.
<pre>
{% set var = "string to center" %}
before{{ var|center(80) }}after
</pre>
ParameterTypBeschreibung
widthZahlGibt die Länge des Leerraums an, in dem der Text zentriert werden soll

convert_rgb

Konvertiert einen HEX-Wert in einen RGB-String. Dies ist nützlich, wenn Sie Farbvariablen in RGB konvertieren müssen, um sie mit einer RGBA-CSS-Deklaration zu verwenden. Im folgenden Beispiel wird der von einem Farbmodul festgelegte Wert in einen RGB-Wert umgewandelt und in einer RGBA-CSS-Deklaration verwendet.
{% set my_color = "#FFFFFF" %}
{{ my_color|convert_rgb }}
{% set my_color2="#000000" %}
<div style="background: rgba({{ my_color2|convert_rgb }}, .5)"></div>

cut

Entfernt einen String aus einem Wert. Dieser Filter kann verwendet werden, um einen bestimmten Teil eines Strings abzugleichen und auszuschneiden. Der Parameter gibt den Teil des Strings an, der entfernt werden soll. Im folgenden Beispiel werden das Leerzeichen und das Wort „world“ aus dem ursprünglichen Variablenwert entfernt.
{% set my_string = "Hello world." %}
{{ my_string|cut(" world") }}
ParameterTypBeschreibung
characters_to_cutZeichenfolgeDer Teil des Strings, der entfernt werden soll.

datetimeformat (veraltet)

Bitte beachten: Dieser Filter ist mittlerweile veraltet. Verwenden Sie stattdessen den format_datetime-Filter, der eine stärker standardisierte Syntax verwendet.

default

Wenn der Wert undefiniert ist, wird der erste Parameter zurückgegeben, andernfalls wird der Wert der Variablen gedruckt. Wenn Sie default mit Variablen verwenden wollen, die als false ausgewertet werden, müssen Sie den zweiten Parameter auf true festlegen. Das erste Beispiel unten würde die Meldung drucken, wenn die Variable nicht definiert ist. Das zweite Beispiel wendet den Filter auf eine leeren Zeichenfolge an, die nicht undefiniert ist, gibt aber aufgrund des zweiten Parameters eine Meldung aus.
{{ my_variable|default("my_variable is not defined") }}
{{ ""|default("the string was empty", true) }}
ParameterTypBeschreibung
default_valueZeichenfolgeWert, der zurückgegeben wird, wenn die Variable undefiniert ist. Wenn die Variable definiert ist, wird stattdessen der Wert der Variable zurückgegeben.
truthyBooleschWert auf true zur Verwendung mit Variablen, die als false ausgewertet werden

dictsort

Sortiert ein Dict und ergibt (Schlüssel, Wert) Paare. Dictionaries sind standardmäßig unsortiert. Sie können ein Dictionary jedoch nach Schlüssel oder Wert sortiert ausgeben. Der erste Parameter ist ein boolescher Wert, der angibt, ob bei der Sortierung zwischen Groß- und Kleinschreibung unterschieden wird oder nicht. Der zweite Parameter bestimmt, ob das Dict nach Schlüssel oder Wert sortiert werden soll. Das folgende Beispiel druckt ein sortiertes Kontaktverzeichnis mit allen bekannten Details zum Kontakt.
{% for item in contact|dictsort(false, "value") %}
{{item}}
{% endfor %}
ParameterTypBeschreibung
case_sensitiveBooleschLegt fest, ob bei der Sortierung zwischen Groß- und Kleinschreibung unterschieden wird
sort_by"key" | "value"Bestimmt, ob nach key oder value sortiert werden soll

difference

Gibt die Differenz von zwei Mengen oder Listen zurück. Die vom Filter zurückgegebene Liste enthält alle eindeutigen Elemente, die in der ersten Liste, aber nicht in der zweiten Liste enthalten sind.
{{ [1, 2, 3]|difference([2, 3, 4, 5]) }}
ParameterTypBeschreibung
listArrayDie zweite Liste, die zum Vergleich herangezogen wird, um Unterschiede zur ursprünglichen Liste zu finden

divide

Teilt den aktuellen Wert durch einen Divisor; Der übergebene Parameter ist der Divisor. Dieser Filter ist eine Alternative zum Operator /.
{% set numerator = 106 %}
{{ numerator|divide(2) }}
ParameterTypBeschreibung
divisorZahlDie Zahl, durch die die Variable geteilt werden soll

divisible

Als Alternative zum Test des Ausdrucks divisibleby wird dieser Filter zu „true“ ausgewertet, wenn der Wert durch die angegebene Zahl teilbar ist.
{% set num = 10 %}
{% if num|divisible(2) %}
The number is divisible by 2
{% endif %}
ParameterTypBeschreibung
divisorZahlDie Zahl, die verwendet werden soll, wenn geprüft wird, ob der Wert teilbar ist

escape_html

Versieht den Inhalt mit Escape-Zeichen einer HTML-Eingabe. Akzeptiert einen String und konvertiert die Zeichen &, <, >, , und escape_jinjava in HTML-sichere Sequenzen. Verwenden Sie diesen Filter für HubL-Variablen, die in HTML-Codes verwendet werden, aber kein HTML zulassen dürfen.
{% set escape_string = "<div>This markup is printed as text</div>" %}
{{ escape_string|escape_html }}

escape_attr

Versieht den Inhalt mit Escape-Zeichen einer HTML-Attributeingabe. Akzeptiert einen String und konvertiert die Zeichen &, <, , und escape_jinjava in HTML-sichere Sequenzen. Verwenden Sie diesen Filter für HubL-Variablen, die HTML-Attributen hinzugefügt werden. Beachten Sie, dass Sie beim Escaping von Werten von Attributen, die URLs akzeptieren, wie z. B. href, stattdessen den Filter escape_url verwenden müssen.
{% set escape_string = "This <br> markup is printed as text" %}
<img src="test.com/imageurl" alt="{{escape_string|escape_attr}}">

escape_jinjava

Konvertiert die Zeichen { und } in Strings in Jinjava-sichere Sequenzen. Verwenden Sie diesen Filter, wenn Sie Text anzeigen müssen, der solche Zeichen in Jinjava enthalten könnte.
{% set escape_string = "{{This markup is printed as text}}" %}
{{ escape_string|escape_jinjava }}

escape_js

Versieht Strings mit Escape-Zeichen, einschließlich escape_jinjava, sodass sie sicher in eine JavaScript-Variablendeklaration eingefügt werden können. Verwenden Sie diesen Filter für HubL-Variablen, die in HTML-Skriptelementen verwendet werden.
{% set escape_string = "\tThey said 'This string can safely be inserted into JavaScript.'" %}
{{ escape_string|escape_js }}

escape_url

Versieht den Inhalt einer URL-Eingabe mit Escape-Zeichen, erzwingt festgelegte Protokolle, entfernt ungültige und gefährliche Zeichen und kodiert HTML-Entitäten. Gibt eine leere Antwort zurück, wenn eine URL gültig ist. Verwenden Sie diesen Filter für HubL-Variablen, die in HTML-Attributen verwendet werden. Es müssen gültige URLs sein.
{% set escape_string = "http://example.com/with space/<html>" %}
<a href="https://developers.hubspot.de/docs{{ escape_string|escape_url }}"></a>

escapejson

Versieht Strings mit Escape-Zeichen, sodass sie als JSON-Werte verwendet werden können.
{% set escape_string = "<script>alert('oh no!')</script>" %}
{% require_js position="head" %}
<script data-search_input-config="config_{{ name }}" type="application/json">
{
"autosuggest_results_message": "{{ escape_string|escapejson }}"
}
</script>
{% end_require_js %}

filesizeformat

Formatiert einen Zahlenwert in eine für Menschen lesbare Dateigröße (z. B. 13 kB, 4,1 MB, 102 Bytes usw.). Standardmäßig werden Dezimalpräfixe verwendet (z. B. MB und GB), aber Sie können den binary-Parameter auf true festlegen, um binäre Präfixe wie Mebi (MiB) und Gibi (GiB) zu verwenden.
{% set bytes = 10000 %}
{{ bytes|filesizeformat(binary=true) }}
ParameterTypBeschreibung
binaryBooleschBei Festlegung auf true werden binäre Präfixe verwendet, z. B. Mebi (MiB) und Gibi (GiB).

first

Gibt das erste Element in einer Sequenz zurück.
{% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
{{ my_sequence|first }}

float

Wandelt den Wert in eine Fließkommazahl um; Wenn die Konvertierung nicht funktioniert, wird 0.0 zurückgegeben. Sie können diese Vorgabe mit dem ersten Parameter außer Kraft setzen.
{% set my_text="25" %}
{{ my_text|float + 17 }}
ParameterTypBeschreibung
defaultZahlInteger, der zurückgegeben wird, wenn die Konvertierung nicht funktioniert

forceescape

Strenge Durchsetzung von HTML-Escaping; In der HubSpot-Umgebung gibt es keinen echten Anwendungsfall für doppeltes Escaping, daher verhält sich dieser Filter im Allgemeinen genauso wie der escape-Filter.
{% set escape_string = "<div>This markup is printed as text</div>" %}
{{ escape_string|forceescape }}

format

Wendet die Python-Zeichenfolge-Formatierung auf ein Objekt an. %s kann durch eine andere Variable ersetzt werden.
{{ "Hi %s %s"|format(contact.firstname, contact.lastname) }}

format_currency (veraltet)

Bitte beachten:

Dieser Filter ist mittlerweile veraltet. Verwenden Sie stattdessen den format_currency_value-Filter.

format_currency_value

Formatiert eine gegebene Zahl als Währung basierend auf der Standardwährung des Portals und dem als Parameter übergebenen Gebietsschema. Ersetzt den veralteten format_currency-Filter.
{{ 100 | format_currency_value(locale='en-GB', currency='EUR', maxDecimalDigits=6, minDecimalDigits=1) }}
ParameterTypBeschreibung
localeZeichenfolgeDas Sprach-Tag des Java-Gebietsschemas. Der Standard ist das locale.Format : ISO639LanguageCodeInLowercase-ISO3166CountryCodeInUppercase-Format der Seite.
currencyZeichenfolgeDer alphabetische ISO 4217-Code der Währung; Standard ist die Standardwährung des Portals. Numerische Codes werden nicht akzeptiert.
minDecimalDigitsZahlDie Mindestanzahl an Dezimalstellen, die die Ausgabe umfassen darf. Standardmäßig wird die Standardanzahl der Dezimalstellen der Währung verwendet.
maxDecimalDigitsZahlDie maximale Anzahl an Dezimalstellen, die die Ausgabe umfassen darf. Standardmäßig wird die Standardanzahl der Dezimalstellen der Währung verwendet.

format_date

Formatiert die date-Komponente eines date-Objekts.

Bitte beachten:

Sie sollten diesen Filter nur für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter „30. September 2024“ zurückgegeben.
{{ content.publish_date | format_date('long') }}
{{ content.publish_date | format_date('yyyy.MMMM.dd') }}
{{ content.publish_date | format_date('medium', 'America/New_York', 'de-DE') }}
ParameterTypBeschreibung
format'short' | 'medium' | 'long' | 'full' | benutzerdefiniertes MusterDas zu verwendende Format; Kann ein benutzerdefiniertes Muster gemäß Unicode LDML sein.
timeZoneZeichenfolgeDie Zeitzone des Ausgabedatums im IANA-TZDB-Format
localeZeichenfolgeDas Gebietsschema, das für Formate verwendet werden soll, die das Gebietsschema berücksichtigen Siehe Liste der unterstützten Gebietsschemata.

format_datetime

Formatiert sowohl die date- als auch die time-Komponente eines date-Objekts. Dieser Filter ersetzt den veralteten datetimeformat-Filter. Standardmäßig wird eine Datetime in der Zeitzone UTC-00:00 zurückgegeben.

Bitte beachten:

Sie sollten diesen Filter nur für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter „30. September 2024“ zurückgegeben.
{{ content.publish_date | format_datetime('medium', 'America/New_York', 'de-DE') }}
ParameterTypBeschreibung
format'short' | 'medium' | 'long' | 'full' | benutzerdefiniertes MusterDas zu verwendende Format; Kann ein benutzerdefiniertes Muster gemäß Unicode LDML sein. Wenn long oder full verwendet werden, enthält der Zeitstempel ein Z, um die Nullpunktverschiebung zur UTC-Zeit (z. B. 2:23:00 PM Z) zu kennzeichnen. Um den Z-Bezeichner zu entfernen, geben Sie eine timeZone an.
timeZoneZeichenfolgeDie Zeitzone des Ausgabedatums im IANA-TZDB-Format; Standardmäßig wird die UTC-Zeit zurückgegeben.
localeZeichenfolgeDas Gebietsschema, das für Formate verwendet werden soll, die das Gebietsschema berücksichtigen Siehe Liste der unterstützten Gebietsschemata.

format_number

Formatiert eine Zahl basierend auf einem festgelegten Gebietsschema. Umfasst einen zweiten Parameter, der die maximale Dezimalgenauigkeit festlegt.
{{ 1000|format_number('en-US') }}
{{ 1000.333|format_number('fr') }}
{{ 1000.333|format_number('en-US', 2) }}
ParameterTypBeschreibung
localeZeichenfolgeDas Gebietsschema, das für Formate verwendet werden soll. Siehe Liste der unterstützten Gebietsschemata.
maxDecimalDigitsZahlDie maximale Anzahl an Dezimalstellen, die die Ausgabe umfassen darf. Standardmäßig wird die Anzahl der Dezimalstellen vom Eingabewert verwendet.

format_time

Formatiert die Uhrzeitkomponente eines date-Objekts.

Bitte beachten:

Sie sollten diesen Filter nur für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter „30. September 2024“ zurückgegeben.
{{ content.updated | format_time('long') }}
{{ content.updated | format_time('hh:mm a') }}
{{ content.updated | format_time('medium', 'America/New_York', 'de-DE') }}
ParameterTypBeschreibung
format'short' | 'medium' | 'long' | 'full' | benutzerdefiniertes MusterDas zu verwendende Format; Kann ein benutzerdefiniertes Muster gemäß Unicode LDML sein. Wenn long oder full verwendet werden, enthält der Zeitstempel ein Z, um die Nullpunktverschiebung zur UTC-Zeit (z. B. 2:23:00 PM Z) zu kennzeichnen. Um den Z-Bezeichner zu entfernen, geben Sie eine timeZone an.
timeZoneZeichenfolgeDie Zeitzone des Ausgabedatums im IANA-TZDB-Format; Standardmäßig wird die UTC-Zeit zurückgegeben.
localeZeichenfolgeDas Gebietsschema, das für Formate verwendet werden soll, die das Gebietsschema berücksichtigen Siehe Liste der unterstützten Gebietsschemata.

fromjson

Konvertiert einen JSON-String in ein Objekt.
{% set obj ='{ "name":"Brian","role":"Owner" }' %}
{{ obj|fromjson }}

geo_distance

Berechnet den ellipsoiden 2D-Abstand zwischen zwei Punkten auf der Erde.
<!-- in the example below
the HubDB Location =
42.3667, -71.1060 (Cambridge, MA) |
Chicago, IL = 37.3435, -122.0344 -->
{{ row.location | geo_distance(37.3435, -122.0344, "mi") }} MI

groupby

Gruppiert eine Sequenz von Objekten nach einem gemeinsamen Attribut; Der Parameter legt das gemeinsame Attribut fest, nach dem gruppiert werden soll.
<ul>
{% for group in contents|groupby("blog_post_author") %}
<li>{{ group.grouper }}
<ul>
{% for content in group.list %}
<li>{{ content.name }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
ParameterBeschreibung
attributeDas Attribut, nach dem gruppiert werden soll.

indent

Zieht Text innerhalb einer bestimmten Feldlänge unter Verwendung von Leerzeichen ein; Dieser Filter wird nicht empfohlen und ist auch nicht besonders nützlich, da der HTML-Compiler von HubSpot die Leerzeichen automatisch entfernt. Der Vollständigkeit halber ist er hier jedoch aufgeführt. Das folgende Beispiel zeigt, wie ein indent-Filter auf eine Variable in einem <pre>-Tag angewendet wird, sodass die Leerzeichen nicht entfernt werden. Der erste Parameter steuert die Menge an Leerzeichen, und der zweite boolesche Parameter bestimmt, ob die erste Zeile eingerückt werden soll.
<pre>
{% set var = "string to indent" %}
{{ var|indent(2, true) }}
</pre>
ParameterTypBeschreibung
widthZahlDie Menge an Leerzeichen, die angewendet werden soll
indent-firstBooleschBei Festlegung auf true wird die erste Zeile eingerückt.

int

Konvertiert den Wert in eine Ganzzahl; Wenn die Konvertierung nicht funktioniert, wird 0 zurückgegeben. Sie können diese Vorgabe mit dem ersten Parameter außer Kraft setzen.
{% set string="25" %}
{{ string|int + 17 }}
ParameterTypBeschreibung
defaultZahlInteger, der zurückgegeben wird, wenn die Konvertierung nicht funktioniert

intersect

Dieser Filter gibt die Schnittmenge von zwei Mengen oder Listen zurück. Die vom Filter zurückgegebene Liste enthält alle eindeutigen Elemente, die in beiden Listen enthalten sind.
{{ [1, 2, 3]|intersect([2, 3, 4, 5]) }}
ParameterTypBeschreibung
listArrayDie zweite Liste, mit der verglichen werden soll, um herauszufinden, wo sich die Liste mit der ursprünglichen Liste überschneidet

ipaddr

Wird zu true ausgewertet, wenn der Wert eine gültige IPv4- oder IPv6-Adresse ist.
{% set ip = "1.0.0.1" %}
{% if ip|ipaddr %}
The string is a valid IP address
{% endif %}

join

Gibt einen String zurück, die die Verkettung der Strings in der Sequenz ist; Das Trennzeichen zwischen den Elementen ist standardmäßig ein leerer String, Sie können es mit dem optionalen Parameter definieren. Der zweite Parameter kann verwendet werden, um ein zu verbindendes Attribut anzugeben.
{% set my_list = [1, 2, 3] %}
{% set sep = "---" %}
{{ my_list|join }}
{{ my_list|join("|") }}
{{ my_list|join(sep) }}
ParameterTypBeschreibung
delimiterZeichenfolgeDas Trennzeichen, das bei der Verkettung von Strings verwendet wird
attributeHubL-VariableAttribut des Werts, der zu einem Objekt hinzugefügt werden soll

last

Gibt das letzte Element einer Sequenz zurück.
{% set my_sequence = ["Item 1", "Item 2", "Item 3"] %}
{% my_sequence|last %}

length

Gibt die Anzahl der Elemente einer Sequenz oder einer Zuordnung zurück.
{% set services = ["Web design", "SEO", "Inbound Marketing", "PPC"] %}
{{ services|length }}

list

Konvertiert Werte in eine Liste um; Zeichenfolgen werden als separate Zeichen zurückgegeben, es sei denn, sie sind in eckigen Klammern [ ] enthalten.
{% set one = 1 %}
{% set two = 2 %}
{% set three = "three" %}
{% set four = ["four"] %}
{% set list_num = one|list + two|list + three|list + four|list %}
{{ list_num }}

log

Berechnet den natürlichen Logarithmus einer Zahl.
{{ 10|log }}
{{ 65536|log(2) }}
ParameterTypBeschreibung
baseZahlDie Basis, die für die Protokollberechnung verwendet werden soll

lower

Konvertiert alle Buchstaben in einem Wert in Kleinbuchstaben.
{% set text="Text to MAKE LowercaSe" %}
{{ text|lower }}

map

Wendet einen Filter auf eine Sequenz von Objekten an oder sucht nach einem Attribut. Dies ist nützlich, wenn man mit Listen von Objekten arbeitet, aber eigentlich nur an einem bestimmten Wert interessiert ist. Die grundlegende Verwendung ist das Mapping auf ein Attribut. Wenn Sie z. B. mithilfe von bedingter Logik prüfen wollen, ob ein Wert in einem bestimmten Attribut eines Dict vorhanden ist. Alternativ können Sie auch einen Filter aufrufen lassen, indem Sie den Namen des Filters und die Argumente übergeben.
{# Usage 1 #}
Apply a filter to a sequence:
{% set seq = ["item1", "item2", "item3"] %}
{{ seq|map("upper") }}

{# Usage 2 #}
Look up an attribute:
{{ content|map("currentState")}}
ParameterTypBeschreibung
filterZeichenfolgeFilter, der auf die Sequenz von Objekten angewendet werden soll

md5

Berechnet den md5-Hash des angegebenen Objekts.
{{ content.absolute_url|md5 }}

minus_time

Zieht eine Zeitdauer von einem datetime-Objekt ab.
{% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ date }}
{{ date|minus_time(2, "months") }}
ParameterTypBeschreibung
diffZahlBetrag, der abgezogen werden soll
timeunitZeichenfolgeGültige Zeiteinheiten sind nanos, micros, millis, seconds, minutes, hours, half_days, days, weeks, months, years, decades, centuries, millennia und eras.

multiply

Multipliziert einen Wert mit einer Zahl. Funktioniert genauso wie der Operator *.
{% set n = 20 %}
{{ n|multiply(3) }}

plus_time

Addiert eine Zeitdauer zu einem datetime-Objekt hinzu.
{% set date = "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ") %}
{{ date }}
{{ date|plus_time(5, "days") }}
ParameterTypBeschreibung
diffZahlBetrag, der abgezogen werden soll
timeunitZeichenfolgeGültige Zeiteinheiten sind nanos, micros, millis, seconds, minutes, hours, half_days, days, weeks, months, years, decades, centuries, millennia und eras.

pprint

Gibt eine Variable als pretty print aus. Dies druckt den Typ der Variablen und andere Informationen, die für das Debugging nützlich sind.
{% set this_var ="Variable that I want to debug" %}
{{ this_var|pprint }}

random

Gibt ein zufälliges Element aus der Sequenz zurück.

Bitte beachten:

Bei Verwendung dieses Filters wird die Seite nicht jedes Mal, wenn der Seiteninhalt aktualisiert wird, sondern in regelmäßigen Abständen vorgerendert. Dies bedeutet, dass der gefilterte Inhalt nicht bei jedem erneuten Laden der Seite aktualisiert wird.Dies ist möglicherweise kein Problem für bestimmte Arten von Inhalten, z. B. die Anzeige einer zufälligen Liste von Blog-Beiträgen. Wenn Inhalte jedoch bei jedem Laden der Seite zufällig geändert werden müssen, sollten Sie stattdessen JavaScript verwenden, um den Inhalt client-seitig zu randomisieren.
{% for content in contents|random %}
<div class="post-item">Post item markup</div>
{% endfor %}

regex_replace

Sucht nach einem Regex-Muster und ersetzt es durch eine Sequenz von Zeichen. Das erste Argument ist ein Regex-Muster im RE2-Stil, das zweite ist der Ersatz-String. Erfahren Sie mehr über die RE2-Regex-Syntax.
{{ "contact-us-2"|regex_replace("[^a-zA-Z]", "") }}

reject

Filtert eine Sequenz von Objekten, indem ein Ausdruckstest auf das Objekt angewendet wird und die Objekte, bei denen der Test erfolgreich war, zurückgewiesen werden.
{% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
{{ some_numbers|reject("even") }}
ParameterTypBeschreibung
exp_textZeichenfolgeDer Name des Ausdruckstests, der auf das Objekt angewendet werden soll

rejectattr

Filtert eine Sequenz von Objekten, indem ein Test auf ein Attribut eines Objekts angewendet wird und die Objekte abgelehnt werden, bei denen der Test erfolgreich war.
{% for content in contents|rejectattr("post_list_summary_featured_image") %}
<div class="post-item">
{% if content.post_list_summary_featured_image %}
<div class="hs-featured-image-wrapper">
<a href="https://developers.hubspot.de/docs{{content.absolute_url}}" title="" class="hs-featured-image-link">
<img src="{{ content.post_list_summary_featured_image }}" class="hs-featured-image">
</a>
</div>
{% endif %}
{{ content.post_list_content|safe }}
</div>
{% endfor %}
ParameterTypBeschreibung
attribute_nameZeichenfolgeGibt das auszuwählende Attribut an; Mithilfe der Punktnotation können Sie auf verschachtelte Attribute zugreifen.
exp_testZeichenfolgeDer Name des Ausdruckstests, der auf das Objekt angewendet werden soll

render

Rendering von Strings, die HubL enthalten, damit die Ausgabe an andere Filter weitergegeben werden kann
{{ personalization_token("contact.lastname", "default value")|render|lower }}

replace

Ersetzt alle Instanzen eines Substrings durch eine neue.
{% if topic %}
<h3>Posts about {{ page_meta.html_title|replace("Blog | ", "") }}</h3>
{% endif %}
ParameterTypBeschreibung
oldZeichenfolgeDer Substring, der ersetzt werden soll
newZeichenfolgeErsatz-String
countZahlFalls angegeben, werden nur die Vorkommen der ersten Anzahl ersetzt

reverse

Kehrt das Objekt um oder gibt einen Iterator zurück, der das Objekt in umgekehrter Reihenfolge durchläuft; Um eine Liste umzukehren, verwenden Sie .reverse()
{% set nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] %}
{% for num in nums|reverse %}
{{ num }}
{% endfor %}

root

Berechnet die Quadratwurzel eines Wertes.
{{ 16|root }}
{{ 625|root(4) }}
ParameterTypBeschreibung
nth_rootZahlDie n-te Wurzel, die für die Berechnung verwendet werden soll

round

Rundet eine Zahl auf eine bestimmte Genauigkeit.
{{ 52.5|round }}
{{ 52.5|round(0, "floor") }}
ParameterTypBeschreibung
precisionZahlGibt die Genauigkeit der Rundung an
rounding_method'common' (Standard) | 'ceil' | 'floor'Optionen umfassen common auf- oder abrunden (Standard); ceil immer aufrunden; floor immer abrunden

safe

Markieren Sie einen Wert als sicher, was bedeutet, dass diese Variable in einer Umgebung, in der automatisches Escaping aktiviert ist, nicht mit Escape-Zeichen versehen wird.
{{ content.post_list_content|safe }}

sanitize_html

Bereinigt den Inhalt einer HTML-Eingabe für die Ausgabe von Rich-Text-Inhalten. Akzeptiert einen String und entfernt dann HTML-Tags, die nicht zulässig sind. Verwenden Sie diesen Filter für HubL-Variablen, die in HTML-Codes verwendet werden und sicheres HTML ermöglichen sollen. Sie können die folgenden Parameter einschließen, um bestimmte Typen von HTML-Tags zuzulassen: FORMATTING, BLOCKS, STYLES, LINKS, TABLES, IMAGES. Zum Beispiel: sanitize_html(IMAGES). Mit sanitize_html werden alle Parameter in den Filter aufgenommen. Sie können auch einen STRIP-Parameter einfügen, um alle HTML-Codes zu entfernen. Alle Inhalte werden auch über escape_jinjava ausgeführt, um eine verschachtelte Interpretation zu verhindern.
{% set escape_string = "This <br> <div>markup is <img src='test.com/image'> <span>printed</span> as text.</div>" %}
{{ escape_string|sanitize_html("IMAGES") }}

select

Filtert eine Sequenz von Objekten, indem ein Test auf die Objekte angewendet wird und nur die Objekte ausgewählt werden, bei denen der Test erfolgreich war.
{% set some_numbers = [10, 12, 13, 3, 5, 17, 22] %}
{{ some_numbers|select("even") }}
ParameterTypBeschreibung
exp_textZeichenfolgeDer Ausdruckstest, der auf das Objekt angewendet werden soll

selectattr

Filtert eine Sequenz von Objekten, indem er einen Test auf ein Attribut der Objekte anwendet und nur die Objekte auswählt, bei denen der Test erfolgreich war.
{% for content in contents|selectattr("post_list_summary_featured_image") %}
<div class="post-item">
{% if content.post_list_summary_featured_image %}
<div class="hs-featured-image-wrapper">
<a href="https://developers.hubspot.de/docs{{content.absolute_url}}" title="" class="hs-featured-image-link">
<img src="{{ content.post_list_summary_featured_image }}" class="hs-featured-image">
</a>
</div>
{% endif %}
{{ content.post_list_content|safe }}
</div>
{% endfor %}
ParameterTypBeschreibung
attribute_nameZeichenfolgeDas Attribut, auf das getestet werden soll. Mithilfe der Punktnotation können Sie auf verschachtelte Attribute zugreifen.
exp_testZeichenfolgeDer Name des Ausdruckstests, der auf das Objekt angewendet werden soll
valZeichenfolgeWert, auf den getestet werden soll

shuffle

Legt die Reihenfolge der Iteration durch eine Sequenz zufällig fest. Im folgenden Beispiel wird eine Standard-Blogschleife gemischt.

Bitte beachten:

Bei Verwendung dieses Filters wird die Seite nicht jedes Mal, wenn der Seiteninhalt aktualisiert wird, sondern in regelmäßigen Abständen vorgerendert. Dies bedeutet, dass der gefilterte Inhalt nicht bei jedem erneuten Laden der Seite aktualisiert wird.Dies ist möglicherweise kein Problem für bestimmte Arten von Inhalten, z. B. die Anzeige einer zufälligen Liste von Blogbeiträgen. Wenn Inhalte jedoch bei jedem Laden der Seite zufällig geändert werden müssen, sollten Sie stattdessen JavaScript verwenden, um den Inhalt client-seitig zu randomisieren.
{% for content in contents|shuffle %}
<div class="post-item">Markup of each post</div>
{% endfor %}

slice

Zerschneiden eines Iterators und Rückgabe einer Liste von Listen, die diese Elemente enthalten; Der erste Parameter gibt an, wie viele Elemente in Scheiben geschnitten werden sollen, und der zweite Parameter gibt an, mit welchen Zeichen leere Scheiben gefüllt werden sollen.
{% set items = ["laptops", "tablets", "smartphones", "smart watches", "TVs"] %}
<div class="columwrapper">
{% for column in items|slice(3," ") %}
<ul class="column-{{ loop.index }}">
{% for item in column %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% endfor %}
</div>
ParameterTypBeschreibung
slicesZahlWie viele Elemente werden geschnitten
fillerZeichenfolgeGibt Zeichen an, mit denen leere Slices aufgefüllt werden

sort

Sortiert eine Iterable. Bei diesem Filter müssen alle Parameter nach einem Attribut in HubSpot sortiert werden. Der erste Parameter ist ein boolescher Wert, der die Sortierreihenfolge umkehrt. Der zweite Parameter bestimmt, ob bei der Sortierung zwischen Groß- und Kleinschreibung unterschieden wird. Und der letzte Parameter gibt ein Attribut an, nach dem sortiert werden soll. Im folgenden Beispiel werden Beiträge aus einem Blog gerendert und nach Namen alphabetisch geordnet.
{% set my_posts = blog_recent_posts("default", limit=5) %}

{% for item in my_posts|sort(False, False, "name") %}
{{ item.name }}<br>

{% endfor %}
ParameterTypBeschreibung
reverseBooleschWert auf true, um die Sortierreihenfolge umzukehren
case_sensitiveBooleschWert auf true, damit bei der Sortierung zwischen Groß- und Kleinschreibung unterschieden wird
attributeZeichenfolgeAttribut, nach dem sortiert werden soll; Beim Sortieren einer Liste auslassen

split

Teilt den Eingabe-String in eine Liste mit dem angegebenen Separator auf. Der erste Parameter gibt den Separator an, mit dem die Variable geteilt werden soll. Der zweite Parameter bestimmt, wie oft die Variable aufgeteilt werden soll. Alle übrigen Elemente verbleiben dann in der Gruppe. Im folgenden Beispiel wird ein String von Namen am ; für die ersten vier Namen geteilt.
{% set string_to_split = "Mark; Irving; Helly; Dylan; Milchick; Harmony;" %}
{% set names = string_to_split|split(";", 4) %}
<ul>
{% for name in names %}
<li>{{ name }}</li>
{% endfor %}
</ul>
ParameterTypBeschreibung
character_to_split_byZeichenfolgeGibt den Separator an, durch den die Variable geteilt werden soll
number_of_splitsZahlBestimmt, wie oft die Variable geteilt werden soll; Alle übrigen Elemente bleiben gruppiert.

string

Konvertiert einen anderen Variablentyp in einen String. Im folgenden Beispiel wird eine Ganzzahl in einen String umgewandelt (pprint wird verwendet, um die Änderung des Variablentyps zu bestätigen).
{% set number_to_string = 45 %}
{{ number_to_string|string|pprint }}

striptags

Entfernt SGML/XML-Tags und ersetzt angrenzende Leerzeichen durch ein einziges Leerzeichen. Dieser Filter kann verwendet werden, um alle HTML-Tags aus einer Variablen zu entfernen.
{% set some_html = "<div><strong>Some text</strong></div>" %}
{{ some_html|striptags }}

strtodate

Konvertiert eine Datumszeichenfolge und ein Datumsformat in ein Datums-Objekt.
{{ '3/3/21'|strtodate('M/d/yy') }}
ParameterTypBeschreibung
dateFormatZeichenfolgeDas zu verwendende Datumsformat

strtotime

Konvertiert einen datetime-String und ein datetime-Format in ein datetime-Objekt.
{{ "2018-07-14T14:31:30+0530"|strtotime("yyyy-MM-dd'T'HH:mm:ssZ")|unixtimestamp }}
ParameterTypBeschreibung
datetimeFormatZeichenfolgeDas zu verwendende Datums- und Zeitformat

sum

Addiert numerische Werte in einer Sequenz. Der erste Parameter kann ein optionales Attribut angeben und der zweite Parameter legt einen Wert fest, der zurückgegeben wird, wenn die zu summierende Variable nichts enthält.
// Simple sum
{% set sum_this = [1, 2, 3, 4, 5] %}
{{ sum_this|sum }}

// Sum of attribute
{% set items = [15, 10] %}
{% set dict_var = [{"name": "Item1", "price": "20"}, {"name": "Item2", "price": "10"}] %}
Total: {{ dict_var|sum(attribute="price") }}
ParameterTypBeschreibung
attributeZeichenfolgeZu summierendes Attribut
return_if_nothingZeichenfolgeWert, der zurückgegeben wird, wenn die zu summierende Variable nichts enthält

symmetric_difference

Dieser Filter gibt die symmetrische Differenz von zwei Mengen oder Listen zurück. Die vom Filter zurückgegebene Liste enthält alle eindeutigen Elemente, die in der ersten Liste enthalten sind, aber nicht in der zweiten, oder die in der zweiten Liste enthalten sind, aber nicht in der ersten.
{{ [1, 2, 3]|symmetric_difference([2, 3, 4, 5]) }}
ParameterTypBeschreibung
listArrayDie zweite Liste, mit der die symmetrische Differenz zur ursprünglichen Liste ermittelt wird

title

Gibt eine Titel-Version des Wertes zurück (d. h., Wörter beginnen mit Großbuchstaben, aber alle übrigen Zeichen sind in Kleinbuchstaben).
{% set my_title="my title should be title case" %}
{{ my_title|title }}

tojson

Schreibt ein Objekt als JSON-String.
{% for content in contents %}
{{ content.blog_post_author|tojson }}
{% endfor %}

trim

Entfernt vor- und nachgestellte Leerzeichen. HubSpot schneidet bereits Leerzeichen aus dem Markup ab, aber dieser Filter ist der Vollständigkeit halber dokumentiert.
{{ " remove whitespace " }}
{{ " remove whitespace "|trim }}

truncate

Schneidet den Text nach einer bestimmten Anzahl von Zeichen ab. Der Standardwert ist 255. HTML-Zeichen sind in dieser Zahl enthalten.
Hinweis: Da dieser Filter auf die Leerzeichen zwischen den Wörtern angewiesen ist, um Zeichenfolgen zu kürzen, funktioniert er für Sprachen ohne Leerzeichen zwischen Zeichen, wie z. B. Japanisch, möglicherweise nicht wie erwartet.
{{ "I only want to show the first sentence. Not the second."|truncate(40) }}
{{ "I only want to show the first sentence. Not the second."|truncate(35, true, "..........") }}
ParameterTypBeschreibung
number_of_charactersZahlErlaubte Anzahl der Zeichen, bevor der Text gekürzt wird. Der Standardwert ist 255.
breakwordBoleeschBei true schneidet der Filter den Text auf die angegebene Länge ab. Bei false wird das letzte Wort verworfen.
endZeichenfolgeÜberschreiben Sie die standardmäßigen „…“ Zeichen nach dem Abschneiden

truncatehtml

Kürzt einen vorgegebenen String unter Berücksichtigung des HTML-Markups (d. h., alle verschachtelten Tags werden korrekt geschlossen); Dadurch wird verhindert, dass ein Tag nach dem Abschneiden offen bleibt. HTML-Zeichen werden nicht auf die Gesamtzahl der Zeichen angerechnet.
Hinweis: Da dieser Filter auf die Leerzeichen zwischen den Wörtern angewiesen ist, um Zeichenfolgen zu kürzen, funktioniert er für Sprachen ohne Leerzeichen zwischen Zeichen, wie z. B. Japanisch, möglicherweise nicht wie erwartet.
{% set html_text = "<p>I want to truncate this text without breaking my HTML<p>" %}
{{ html_text|truncatehtml(28, "..." , false) }}
ParameterTypBeschreibung
number_of_charactersZahlErlaubte Anzahl der Zeichen, bevor der Text gekürzt wird. Der Standardwert ist 255.
endZeichenfolgeÜberschreiben Sie die standardmäßigen „…“ Zeichen nach dem Abschneiden
breakwordBooleschBoolescher Wert; Bei true schneidet der Filter den Text auf die angegebene Länge ab. Bei false (Standard) wird das letzte Wort verworfen. Wenn Sie nur einen der optionalen Parameter verwenden, benutzen Sie Schlüsselwortargumente wie truncatehtml(70, breakwords = false).

unescape_html

Konvertiert Text mit HTML-codierten Entitäten in ihre Unicode-Äquivalente.
{% set escape_string = "me & you" %}
{{ escape_string|unescape_html }}

union

Dieser Filter gibt die Vereinigung von zwei Mengen oder Listen zurück. Die vom Filter zurückgegebene Liste enthält alle eindeutigen Elemente, die in beiden Listen enthalten sind.
{{ [1, 2, 3]|union([2, 3, 4, 5]) }}
ParameterTypBeschreibung
listArrayDie zweite Liste zur Vereinigung mit der ursprünglichen Liste

unique

Dieser Filter extrahiert eine eindeutige Menge aus einer Sequenz oder einem Dict von Objekten. Wenn Sie ein Dict filtern, z. B. eine Liste von Beiträgen, die von einer Funktion zurückgegeben wird, können Sie angeben, welches Attribut verwendet wird, um Elemente im Dict zu deduplizieren.
{% set my_sequence = ["one", "one", "two", "three" ] %}
{{ my_sequence|unique }}
ParameterTypBeschreibung
attrZeichenfolgeGibt das Attribut an, das beim Filtern eines dict-Wertes verwendet werden soll

unixtimestamp

Dieser Filter wandelt ein datetime-Objekt in einen Unix-Zeitstempel um.

Bitte beachten:

Sie sollten diesen Filter nur für Variablen verwenden, die ein Datum zurückgeben. Ab dem 30. September 2024 gibt dieser Filter nicht mehr das aktuelle Datum zurück, wenn ein Nullwert übergeben wird. Nach diesem Datum wird bei einem Nullwert im Filter September 30, 2024 zurückgegeben.
{{ local_dt }}
{{ local_dt|unixtimestamp }}

upper

Konvertiert alle Buchstaben in einem Wert in Großbuchstaben.
{% set text="text to make uppercase" %}
{{ text|upper }}

urlencode

Versieht einen String mit Escape-Zeichen und URL-codiert ihn mit UTF-8-Formatierung. Akzeptiert sowohl Dictionaries und reguläre Strings als auch paarweise Iterablen.
{% set encode_value="Escape & URL encode this string" %}
{{ encode_value|urlencode }}

urldecode

Decodiert codierte URL-Strings zurück in die ursprüngliche URL. Akzeptiert sowohl Dictionaries und reguläre Strings als auch paarweise Iterablen.
{% set decode_value="Escape+%26+URL+decode+this+string" %}
{{ decode_value|urldecode }}

urlize

Konvertiert URLs im Klartext in klickbare Links um. Wenn Sie dem Filter eine zusätzliche ganze Zahl übergeben, werden die URLs auf diese Zahl gekürzt. Der zweite Parameter ist ein boolescher Wert, der an festlegt, ob der Link rel=“no follow” ist. Mit dem letzten Parameter können Sie angeben, ob der Link in einer neuen Registerkarte geöffnet werden soll.
ParameterTypBeschreibung
shorten_textZahlGanzzahl, die die URLs auf die gewünschte Anzahl kürzt
no_followBooleschBei Festlegung auf true enthält der Link rel="no follow"
target="_blank"ZeichenfolgeGibt an, ob der Link in einem neuen Tab geöffnet wird
{{ "http://hubspot.com/"|urlize }}
{{ "http://hubspot.com/"|urlize(10,true) }}
{{ "http://hubspot.com/"|urlize("",true) }}
{{ "http://hubspot.com/"|urlize("",false,target="_blank") }}

wordcount

Zählt die Anzahl der Wörter in einem String;
Wenn der String HTML enthält, verwenden Sie den Filter striptags, um eine genaue Zählung zu erhalten.
{%  set count_words = "Count the number of words in this variable"  %}
{{ count_words|wordcount }}

wordwrap

Bewirkt den Umbruch von Wörtern bei einer bestimmten Zeichenanzahl. Dies funktioniert am besten in einem <pre>, da HubSpot standardmäßig Leerzeichen entfernt.
{% set wrap_text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam efficitur, ipsum non sagittis euismod, ex risus rhoncus lectus, vel maximus leo enim sit amet dui. Ut laoreet ultricies quam at fermentum." %}
{{ wrap_text|wordwrap(10) }}
ParameterBeschreibung
character_countAnzahl der Zeichen, mit denen der Inhalt umgebrochen werden soll.

xmlattr

Erstellt einen HTML/XML-Attribut-String, der auf den Elementen in einem Dict basiert; Alle Werte, die weder keines noch undefiniert sind, werden automatisch mit Escape-Zeichen versehen. Es wird automatisch ein Leerzeichen vor das Element gesetzt, wenn der Filter etwas zurückgegeben hat, es sei denn, der erste Parameter ist falsch.
{% set html_attributes = {"class": "bold", "id": "sidebar"} %}
<div {{ html_attributes|xmlattr }}></div>
ParameterTypBeschreibung
autospaceBooleschWert auf true, um ein Leerzeichen vor dem Element hinzuzufügen