Boucles for
Les boucles for peuvent être utilisées dans HubL pour itérer dans des séquences d'objets. Elles seront le plus souvent utilisées pour rendre le contenu du blog dans un format de liste, mais elles peuvent également être utilisées pour trier d'autres variables de séquence.
Les boucles for commencent par une fonction {% for %}
et se terminent par une fonction {% endfor %}
. Dans la fonction {% for %}
, un seul élément de séquence est nommé, suivi de in
, puis du nom de la séquence. Le code entre les fonctions for
d'ouverture et de fermeture est imprimé à chaque itération, et comprend généralement la variable imprimée de l'élément de séquence individuel. Vous trouverez ci-dessous la syntaxe de base d'une boucle for :
loop.index
tient un compte du nombre actuel d'itérations de la boucle. Il existe plusieurs autres propriétés de variable de boucle qui comptabilisent les itérations de différentes manières. Ces propriétés sont décrites ci-dessous :Variable | Description |
---|---|
loop.cycle
| Une fonction d'aide pour faire un cycle entre une liste de séquences. Consultez l'explication ci-dessous. |
loop.depth
| Indique à quelle profondeur d'une boucle récursive se trouve actuellement le rendu. Commence au niveau 1. |
loop.depth0
| Indique à quelle profondeur d'une boucle récursive se trouve actuellement le rendu. Commence au niveau 0. |
loop.first
| Cette variable est définie sur true s'il s'agit de la première itération de la boucle. |
loop.index
| L'itération actuelle de la boucle. Cette variable commence la comptabilisation à 1. |
loop.index0
| L'itération actuelle de la boucle. Cette variable commence la comptabilisation à 0. |
loop.last
| Cette variable est définie sur true s'il s'agit de la dernière itération de la boucle. |
loop.length
| Le nombre d'éléments dans la séquence. |
loop.revindex
| Le nombre d'itérations à partir de la fin de la boucle. Compte à rebours jusqu'à 1. |
loop.revindex0
| Le nombre d'itérations à partir de la fin de la boucle. Compte à rebours jusqu'à 0. |
Vous trouverez ci-dessous quelques exemples qui utilisent différentes variables de boucle. L'exemple de base suivant utilise loop.index
pour conserver un compte qui est imprimé à chaque itération.
L'exemple suivant utilise une logique conditionnelle pour vérifier si la longueur de la boucle est divisible par
certains nombres. La largeur de la division est alors restituée en conséquence. L'exemple utilise la boucle standard des articles de blog et suppose qu'il y a 6 articles dans la boucle.
Les boucles peuvent également être imbriquées dans d'autres boucles. La boucle for enfant sera exécutée à chaque itération de la boucle for parent. Dans l'exemple ci-dessous, une liste d'éléments enfants est imprimée dans un élément <ul>
imbriqué dans un élément <ul>
d'éléments parents.
La balise cycle peut être utilisée dans une boucle for pour parcourir une série de valeurs de chaîne et les imprimer à chaque itération. L'une des applications les plus pratiques de cette technique consiste à appliquer des classes alternées à vos articles de blog dans une liste. Cette balise peut être utilisée sur plus de deux valeurs et répétera le cycle s'il y a plus d'itérations de boucle que de valeurs de cycle. Dans l'exemple ci-dessous, une classe d'éléments odd
et even
est appliquée aux articles d'une liste (l'exemple suppose qu'il y a 5 articles dans la boucle).
Veuillez noter qu'il n'y a pas d'espace entre les valeurs des chaînes de cycle séparées par des virgules.
Si le dictionnaire d'informations que vous parcourez en boucle comporte des paires (clé, valeur), une simple boucle for n'aurait accès qu'aux valeurs. Si vous souhaitez avoir accès à la fois aux clés et aux valeurs dans la boucle for, le HubL sera formaté comme suit :
Lorsque vous ajoutez une balise à une page, HubSpot attribue automatiquement un id
au HTML d'encadrement. Cette balise est unique par nom de balise. Si vous devez utiliser une balise dans une boucle for, la définition de noms uniques n'est pas pratique. Ajoutez le paramètre unique_in_loop
à votre balise pour générer des identifiants uniques. Ce paramètre ajoute le nom du module au numéro d'itération de la boucle en cours, ce qui garantit qu'il est unique. Les identifiants uniques ne sont pas seulement nécessaires à la validité du code HTML. Ils sont également importants pour l'accessibilité.
Merci d'avoir partagé votre avis.