Letzte Änderung: 22. August 2025
HubL verwendet Variablen zum Speichern und Ausgeben von Werten in der Vorlage. Variablen können in Vorlagenlogik verwendet oder mit for-Schleifen durchlaufen werden. Neben Variablen sind Makros ein weiteres nützliches Tool, um sich wiederholende, aber dynamische Code-Abschnitte in Ihren Vorlagen zu drucken.
Variablen sind Ausdrücke, die durch }}
begrenzt sind. Die grundlegende Syntax von Variablen lautet wie folgt:
Variablen
Variablen sind entweder ein einzelnes Wort in einem Ausdruck oder ein Attribut eines Dictionarys. HubL verwendet Python-basierte Datenstrukturen, Dictionaries oder Dicts genannt, um verschiedene Variablensätze zu speichern. HubSpot verwendet beispielsweise ein „content“-Dictionary, um viele Attribute zu speichern, die sich auf den mit dieser Vorlage erstellten Inhalt beziehen. Zum Beispiel druckt diecontent.absolute_url
die URL eines bestimmten Inhalts.
HubSpot verfügt über viele vordefinierte Variablen, die in Ihren Seiten-, Blog- und E-Mail-Vorlagen verwendet werden können. Wir verfügen über eine Referenzliste von Variablen. Sie können auch die Entwicklerinformationen anzeigen, wenn Sie eine beliebige Seite in Ihrem Account aufrufen, um die auf dieser Seite verfügbaren Variablen anzuzeigen.
Sie können nicht nur die Werte von Variablen und Dictionary-Attributen in einer Vorlage drucken, sondern auch eigene Variablen definieren. Sie können Zeichenfolgen, boolesche Werte, Ganzzahlen und Sequenzen speichern oder Dictionaries in einer einzigen Variablen erstellen. Variablen werden innerhalb von Anweisungstrennzeichen mit dem Wort „set“ definiert. Einmal gespeicherte Variablen können dann gedruckt werden, indem der Variablenname als Ausdruck angegeben wird. Unten sehen Sie verschiedene Arten von Informationen, die in Variablen gespeichert und dann gedruckt werden.
Variablen sollten entweder aus einzelnen Wörtern bestehen oder Unterstriche für Leerzeichen verwenden (z. B. my_variable). HubL unterstützt keine Variablennamen mit Bindestrichen.
Makros
Mit HubL-Makros können Sie mehrere Anweisungen mit einem dynamischen Wert drucken. Wenn es beispielsweise einen Code-Block gibt, den Sie immer wieder schreiben müssen, kann ein Makro eine gute Lösung sein, da es den Code-Block ausgibt und dabei bestimmte Argumente, die Sie ihm übergeben, austauscht. Das Makro wird in einer HubL-Anweisung definiert, benannt und mit Argumenten versehen. Das Makro wird dann in einer Anweisung aufgerufen, die seine dynamischen Werte übergibt und den endgültigen Code-Block mit den dynamischen Argumenten ausgibt. Die grundlegende Syntax eines Makros lautet wie folgt:-
) an den Anfang oder das Ende eines Blocks, eines Kommentars oder eines Variablenausdrucks setzen, werden die Leerzeichen vor oder nach diesem Block entfernt.
Mit Makros haben Sie die Möglichkeit, rekursiven Code zu erstellen. Um Probleme bei der Zuverlässigkeit und Performance zu vermeiden, können Sie Makros nur 20 Ebenen tief verschachteln. Wenn Sie diese Grenze überschreiten, erhalten Sie eine Fehlermeldung vom Typ:
max. Rekursionslimit von 20 für <your macro name>-Makro erreicht
Aufruf
In manchen Fällen möchten Sie vielleicht zusätzliche dynamische Informationen in den Makroblock zurückgeben. Sie können zum Beispiel ein großes Stück Code haben, das Sie zusätzlich zu den Argumenten in das Makro zurückführen wollen. Sie können dies mit Hilfe von call block und caller() tun. Ein Aufrufblock funktioniert im Wesentlichen wie ein Makro, erhält aber keinen eigenen Namen. Der caller()-Ausdruck gibt an, wo der Inhalt des Aufrufblocks wiedergegeben wird. Im folgenden Beispiel wird zusätzlich zu den beiden Argumenten ein<p>
in ein Makro eingefügt.
Import
Eine weitere nützliche Funktion von Makros ist, dass sie vorlagenübergreifend verwendet werden können, indem eine Vorlagendatei in eine andere importiert wird. Hierfür müssen Sie das import -Tag verwenden. Mit dem import-Tag können Sie einen Design-Manager-Dateipfad zur Vorlage angeben, die Ihre Makros enthält, und den Makros einen Namen in der Vorlage geben, in die Sie sie einfügen. Sie können dann Werte an diese Makros übergeben, ohne sie umdefinieren zu müssen. Nehmen wir zum Beispiel an, Sie haben eine HTML-Vorlagendatei, die die folgenden 2 Makros enthält. Ein Makro wird definiert, um einen Header-Tag einzurichten, und eines, um einen Footer-Tag zu erzeugen. Diese Datei wird im Design-Manager unter dem Namenmy_macros.html
gespeichert.
my_macros.html
-Datei angibt. Er benennt auch die Gruppe der Makros (in diesem Beispiel header_footer
). Makros können dann ausgeführt werden, indem der Makroname an den Namen der importierten Vorlage angehängt wird. Siehe das folgende Beispiel.
Von (from)
Wenn Sie nur bestimmte Makros importieren möchten, anstatt alle Makros in einer separaten .html-Datei, können Sie das from-Tag verwenden. Geben Sie mit dem from-Tag nur die Makros an, die Sie importieren möchten. Im Allgemeinen bietet die Verwendung von import mehr Flexibilität, diese Alternative wird jedoch ebenfalls unterstützt. Das folgende Beispiel greift auf dieselbemy_macros.html
-Datei aus dem vorherigen Abschnitt dieses Artikels zu. Diesmal werden jedoch nicht alle Makros importiert, sondern nur das Makro für den Footer.
Variablen innerhalb von Schleifen
Alle innerhalb von Schleifen definierten Variablen sind auf den Bereich dieser Schleife beschränkt und können nicht von außerhalb der Schleife aufgerufen werden.
.update
Listenoperation verwendet: