for-Schleifen
for-Schleifen können in HubL verwendet werden, damit Sequenzen von Objekten durchlaufen werden. Sie werden am häufigsten bei der Darstellung von Blog-Inhalten in einem Listenformat verwendet, können aber auch zum Sortieren anderer Sequenzvariablen verwendet werden.
for-Schleifen beginnen mit einer {% for %}
-Anweisung und enden mit einer {% endfor %}
-Anweisung. Innerhalb der {% for %}
-Anweisung wird ein einzelnes Sequenzelement genannt, gefolgt von in
und dem Namen der Sequenz. Der Code zwischen den öffnenden und schließenden for
-Anweisungen wird bei jeder Iteration gedruckt und enthält im Allgemeinen die gedruckte Variable des einzelnen Sequenzelements. Im Folgenden finden Sie die grundlegende Syntax einer for-Schleife:
loop.index
speichert die aktuelle Anzahl der Iterationen der Schleife. Es gibt mehrere andere Eigenschaften von Schleifenvariablen, die die Iterationen auf unterschiedliche Weise zählen. Diese Eigenschaften werden im Folgenden beschrieben:Variable | Description |
---|---|
loop.cycle
| Eine Hilfsfunktion, um zwischen einer Liste von Sequenzen zu wechseln. Siehe die nachstehende Erklärung. |
loop.depth
| Gibt an, wie tief in einer rekursiven Schleife das Rendering gerade ist. Beginnt bei Ebene 1 |
loop.depth0
| Gibt an, wie tief in einer rekursiven Schleife das Rendering gerade ist. Beginnt bei Ebene 0 |
loop.first
| Diese Variable wird als true ausgewertet, wenn es sich um die erste Iteration der Schleife handelt. |
loop.index
| Die aktuelle Iteration der Schleife. Diese Variable beginnt mit der Zählung bei 1. |
loop.index0
| Die aktuelle Iteration der Schleife. Diese Variable beginnt die Zählung bei 0. |
loop.last
| Diese Variable wird als true ausgewertet, wenn es sich um die letzte Iteration der Schleife handelt. |
loop.length
| Die Anzahl der Elemente in der Sequenz |
loop.revindex
| Die Anzahl der Iterationen ab dem Ende der Schleife. Wird rückwärts gezählt bis 1. |
loop.revindex0
| Die Anzahl der Iterationen ab dem Ende der Schleife. Wird rückwärts gezählt bis 0. |
Im Folgenden finden Sie einige Beispiele, in denen verschiedene Schleifenvariablen verwendet werden. Das folgende einfache Beispiel verwendet loop.index
, um eine Zählung durchzuführen, die bei jeder Iteration ausgegeben wird.
Das nächste Beispiel verwendet bedingte Logik, um zu prüfen, ob die Länge der Schleife durch bestimmte Zahlen teilbar (divisibleby
) ist. Anschließend wird die Breite des Post-Item-Divs entsprechend angepasst. Das Beispiel verwendet die Standardschleife für Blog-Beiträge und geht davon aus, dass die Schleife 6 Beiträge enthält.
Schleifen können auch mit Schleifen verschachtelt werden. Die untergeordnete for-Schleife wird bei jeder Iteration der übergeordneten for-Schleife ausgeführt. Im folgenden Beispiel wird eine Liste untergeordneter Elemente in einem verschachtelten <ul>
innerhalb eines <ul>
von übergeordneten Elementen gedruckt.
Das cycle-Tag kann innerhalb einer for-Schleife verwendet werden, um eine Reihe von Zeichenkettenwerten zu durchlaufen und sie bei jeder Iteration zu drucken. Eine der praktischsten Anwendungen dieses Verfahrens ist die Anwendung alternierender Klassen auf Ihre Blog-Beiträge in einem Listing. Dieses Tag kann für mehr als zwei Werte verwendet werden und wiederholt den Zyklus, wenn es mehr Schleifenwiederholungen als Zykluswerte gibt. Im folgenden Beispiel wird eine Klasse von odd
und even
auf Beiträge in einem Listing angewendet (das Beispiel geht davon aus, dass es 5 Beiträge in der Schleife gibt).
Bitte beachten Sie, dass keine Leerzeichen zwischen den durch Kommata getrennten Werten der Zykluszeichenfolge stehen.
Sie können Variablen, die außerhalb einer Schleife definiert sind, aus einer Schleife heraus aufrufen, aber nicht umgekehrt.
Wenn das Dictionary von Informationen, das Sie in einer Schleife durchlaufen, über Schlüssel- und Wertepaare verfügt, hätte eine einfache for-Schleife nur Zugriff auf die Werte. Wenn Sie innerhalb der for-Schleife sowohl auf die Schlüssel als auch auf die Werte zugreifen möchten, würde die HubL so formatiert werden:
Wenn Sie der Seite ein Tag hinzufügen, weist HubSpot dem umschließenden HTML-Code automatisch eine id
zu. Dieses Tag ist eindeutig pro name-Tag. In Situationen, in denen Sie ein Tag in einer for-Schleife verwenden müssen, ist die Festlegung eindeutiger Namen nicht sinnvoll. Fügen Sie den unique_in_loop
-Parameter zu Ihrem Tag hinzu, um eindeutige IDs zu generieren. Dieser Parameter fügt den Modulnamen an die Nummer der aktuellen SchleifeniIeration an, um sicherzustellen, dass er eindeutig ist. Eindeutige IDs werden nicht nur für gültigen HTML benötigt, sondern sind auch für die Barrierefreiheit wichtig.
Vielen Dank, dass Sie Ihr Feedback mit uns geteilt haben.