Dernière modification : 28 août 2025
Les fonctions dans HubL sont similaires aux filtres car elles acceptent des paramètres et génèrent une valeur. Cependant, toutes les fonctions n’ont pas besoin d’être appliquées à une valeur de modèle initiale, mais interagissent avec d’autres zones de votre environnement HubSpot. Si vous gérez un site web plus ancien, vous pouvez également consulter la liste des fonctions HubL obsolètes. Découvrez ci-dessous chaque fonction HubL et sa syntaxe.

append

Ajoute un seul élément à la fin d’une liste.
{% set numbers_under_5 = [1,2,3] %}
{% do numbers_under_5.append(4) %}
{{numbers_under_5}}
ParamètreTypeDescription
itemToutÉlément à ajouter à la liste.

blog_all_posts_url

La fonction blog_all_posts_url renvoie une URL complète vers la page de listing de tous les articles du blog indiqué. L’exemple ci-dessous montre comment cette fonction peut être utilisée comme href d’une ancre.
<a href="https://developers.hubspot.fr/docs{{ blog_all_posts_url("default") }}">All Marketing blog posts</a>
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser. L’ID du blog est renvoyé selon le champ blog du module.

blog_author_url

La fonction blog_author_url renvoie une URL complète vers la page de listing de l’auteur du blog indiqué. L’exemple ci-dessous montre comment cette fonction peut être utilisée comme href d’une ancre. Cette fonction peut être combinée avec blog_authors comme le montrent les exemples de cette fonction.
<a href="https://developers.hubspot.fr/docs{{ blog_author_url("default", "brian-halligan") }}">Brian Halligan</a>
ParamètreTypeDescription
selected_blogID du blog ou “default”Spécifie le blog dans lequel se trouve la page de listing de l’auteur. Vous pouvez spécifier un blog par ID ou utiliser "default" pour sélectionner le blog par défaut. L’ID du blog est renvoyé selon le champ blog du module.
author_slugChaîne ou variable HubLIndique l’auteur vers lequel le lien doit être établi. Peut utiliser soit content.blog_post_author.slug ou un nom en minuscule avec un trait d’union. Exemple : "jane-doe".

blog_authors

La fonction blog_authors renvoie une séquence d’objets auteurs de blog pour le blog indiqué, triés par slug en ordre croissant. Cette séquence peut être stockée dans une variable et être parcourue pour créer des filtres d’articles d’auteurs personnalisés. Le nombre d’articles publiés par chaque auteur peut être consulté avec author.live_posts.
Remarque : cette fonction est limitée à 250 auteurs. Cette fonction est également limitée à 10 appels par page.
La première ligne de l’exemple ci-dessous montre comment la fonction renvoie une séquence d’objets auteur. La suite de l’exemple montre un cas d’utilisation consistant à enregistrer une séquence dans une variable, puis à parcourir les objets auteur, en imprimant un ensemble de liens de listing d’auteurs. L’exemple suppose que le blog a 4 auteurs.
{{ blog_authors("default", 250) }}

{% set my_authors = blog_authors("default", 250) %}
<ul>
{% for author in my_authors %}
<li><a href="https://developers.hubspot.fr/docs{{ blog_author_url(group.id, author.slug) }}">{{ author }}</a></li>
{% endfor %}
</ul>
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser, soit un blog spécifique selon son ID, soit le blog par défaut avec "default". L’ID du blog est renvoyé selon le champ blog du module.
limitEntierDéfinit la limite du nombre d’auteurs récupérés.

blog_by_id

La fonction blog_by_id renvoie un blog selon l’ID. L’exemple de code ci-dessous montre l’utilisation de cette fonction pour générer un élément de liste avec lien hypertexte.
Remarque : cette fonction est limitée à 10 appels par page.
{% set my_blog = blog_by_id(47104297) %}
<ul>
<li>
<a href="https://developers.hubspot.fr/docs{{ my_blog.absolute_url }}">{{my_blog.html_title}}</a>
</li>
</ul>
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser, soit un blog spécifique selon son ID, soit le blog par défaut avec "default". L’ID du blog est renvoyé selon le champ blog du module.
La fonction blog_page_link génère l’URL d’une vue paginée du listing de votre blog. La fonction prend un paramètre numérique, qui vous permet de générer des liens pour la page actuelle, suivante, précédente ou une page spécifique. Cette fonction est généralement utilisée dans l’attribut href des balises d’ancrage de la pagination et doit être utilisée sur le modèle de listing de votre blog. Les exemples ci-dessous montrent cette fonction utilisée comme un href d’ancre. Le premier exemple affiche la page actuelle. Le deuxième exemple utilise le paramètre numéro 7 pour la septième page. Le troisième exemple utilise la variable next_page_num pour générer un lien relatif au numéro de la page actuelle (vous pouvez également utiliser la variable last_page_num pour la page précédente). Le dernier exemple utilise la variable current_page_num et un opérateur + pour créer un lien supérieur de 4 à la page actuelle.
<a href="https://developers.hubspot.fr/docs{{ blog_page_link(current_page_num) }}">Current page</a>
<a href="https://developers.hubspot.fr/docs{{ blog_page_link(7) }}">Page 7</a>
<a href="https://developers.hubspot.fr/docs{{ blog_page_link(next_page_num) }}">Next</a>
<a href="https://developers.hubspot.fr/docs{{ blog_page_link(current_page_num + 4) }}">Page Plus 4</a>
ParamètreTypeDescription
pageNombre ou variable HubLNuméro de page utilisé pour générer l’URL ou la variable HubL pour le numéro de page.
Cette fonction rend un nombre déterminé d’articles populaires en une séquence. La séquence peut ensuite être enregistrée dans une variable et être parcourue par une boucle for, créant un listing personnalisé de vos articles les plus populaires. Les résultats de cette fonction sont mis en cache pendant six heures. Pour récupérer des articles de blog en utilisant HubL d’une manière qui évite la mise en cache, vous pouvez utiliser blog_recent_tag_posts à la place. Dans l’exemple de code ci-dessous, la première ligne montre comment la fonction renvoie une séquence. La séquence est enregistrée en tant que variable qui est ensuite utilisée dans une boucle for. Toute variable d’article de blog doit utiliser le nom de l’élément individuel de la boucle plutôt que content.. Dans l’exemple, pop_post.name est utilisé. Cette technique peut être utilisée sur les modèles de blog et les pages de site web.
Remarque : cette fonction est limitée à 200 articles. Cette fonction est également limitée à 10 appels par page.
{% set pop_posts = blog_popular_posts("default", 5, ["marketing-tips", "sales-tips"], "popular_past_month", "AND") %}
{% for pop_post in pop_posts %}
<div class="post-title">{{ pop_post.name }}</div>
{% endfor %}
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser, soit un blog spécifique selon son ID, soit le blog par défaut avec "default".
limitEntierIndique le nombre d’articles à ajouter à la séquence jusqu’à une limite de 200. Si elle n’est pas spécifiée, la valeur par défaut est 10.
tag_slugTableauListe facultative de balises permettant de filtrer les articles.
time_frameChaînePériode d’analyse facultative pour filtrer les articles. La valeur par défaut est "popular_past_year". Doit être l’un des éléments suivants :
  • "popular_all_time"
  • "popular_past_year"
  • "popular_past_six_months"
  • "popular_past_month"
Ce paramètre est obligatoire lors de l’inclusion du paramètre logical_operator.
logical_operatorChaîneLorsque tag_slug contient plusieurs balises, utilisez cet opérateur pour filtrer les résultats avec la logique AND ou OR. Par défaut, cette fonction utilise la logique OR pour renvoyer les publications étiquetées avec l’une des balises spécifiées. Lorsque vous incluez ce paramètre, time_frame est requis.

blog_post_archive_url

La fonction blog_post_archive_url renvoie une URL complète vers la page de listing des archives pour les valeurs de date données sur le blog indiqué. Cette fonction comporte deux paramètres obligatoires et deux paramètres facultatifs. Le premier paramètre est un ID de blog ou simplement le mot clé "default". Le second est l’année des articles archivés que vous souhaitez afficher. Les paramètres facultatifs comprennent le mois et le jour des archives archivés que vous souhaitez afficher, respectivement. L’exemple ci-dessous montre comment cette fonction peut être utilisée comme href d’une ancre.
<a href="https://developers.hubspot.fr/docs{{ blog_post_archive_url("default", 2017, 7, 5) }}">Posts from July 5th, 2017</a>
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser, soit un blog spécifique selon son ID, soit le blog par défaut avec "default".
yearEntierL’année.
monthEntierLe mois facultatif.
dayEntierLe jour facultatif.

blog_recent_author_posts

La fonction blog_recent_author_posts renvoie une séquence d’objets d’article de blog pour l’auteur indiqué, triés en commençant par le plus récent. Cette séquence d’articles peut être enregistrée dans une variable et être parcourue par une boucle for, créant un listing d’articles personnalisé d’un auteur particulier. La fonction prend trois paramètres. Le premier paramètre indique à partir de quel blog collecter les articles d’un auteur. La valeur doit être "default" ou l’ID d’un blog particulier (disponible dans l’URL du tableau de bord Blog) Le deuxième paramètre indique l’auteur à utiliser. Ce paramètre peut utiliser la balise content.blog_post_author.slug pour utiliser l’auteur de l’article actuel ou accepter un nom en minuscule avec trait d’union tel que "brian-halligan". Le troisième paramètre indique combien d’articles sont récupérés. La première ligne de l’exemple ci-dessous montre comment la fonction renvoie une séquence d’articles d’un auteur. Dans cet exemple, plutôt que d’indiquer un nom d’auteur exact, l’auteur actuel de l’article est utilisé. La séquence est enregistrée dans une variable et parcourue en boucle. Toute variable d’article de blog doit utiliser le nom de l’élément individuel de la boucle plutôt que content.. Dans l’exemple, author_post.name est utilisé. Cette technique peut être utilisée sur les modèles de blog et de page.
Remarque : cette fonction est limitée à 200 articles et à 10 appels par page.
{{ blog_recent_author_posts("default", content.blog_post_author.slug, 5 ) }}
{% set author_posts = blog_recent_author_posts("default", content.blog_post_author.slug, 5) %}
{% for author_post in author_posts %}
<div class="post-title">{{ author_post.name }}</div>
{% endfor %}
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser. L’ID du blog est renvoyé selon le champ blog du module.
author_slugChaîneIndique l’auteur sur lequel le filtre doit porter.
limitEntierIndique le nombre d’articles à ajouter à la séquence jusqu’à une limite de 200.

blog_recent_posts

La fonction blog_recent_posts renvoie une séquence d’objets d’articles de blog pour le blog indiqué, triés en commençant par le plus récent. Cette séquence d’articles peut être enregistrée dans une variable et être parcourue par une boucle for, créant un listing personnalisé de vos articles les plus populaires. La fonction prend deux paramètres. Le premier paramètre indique le blog à partir duquel collecter les articles populaires. La valeur doit être "default" ou l’ID d’un blog particulier (disponible dans l’URL du tableau de bord Blog) Le deuxième paramètre indique le nombre d’articles à récupérer. La première ligne de l’exemple ci-dessous montre comment la fonction renvoie une séquence. La séquence est enregistrée dans une variable et parcourue en boucle. Toute variable d’article de blog doit utiliser le nom de l’élément individuel de la boucle plutôt que content.. Dans l’exemple, rec_post.name est utilisé. Cette technique peut être utilisée, non seulement sur les modèles de blog, mais aussi sur les pages ordinaires.
Remarque : cette fonction est limitée à 200 articles et à 10 appels par page.
{{ blog_recent_posts("default", 5) }}
{% set rec_posts = blog_recent_posts("default", 5) %}
{% for rec_post in rec_posts %}
<div class="post-title">{{ rec_post.name }}</div>
{% endfor %}
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser, soit un blog spécifique selon son ID, soit le blog par défaut avec "default". L’ID du blog est renvoyé selon le champ blog du module.
limitEntierIndique le nombre d’articles à ajouter à la séquence, au maximum 200.

blog_recent_tag_posts

La fonction blog_recent_tag_posts renvoie une séquence d’objets d’articles de blog pour une ou plusieurs balises indiquées, triés en commençant par le plus récent. Cette séquence d’articles peut être enregistrée dans une variable et être parcourue par une boucle for, créant un listing d’articles personnalisé d’une ou plusieurs balises particulières. Dans l’exemple de code ci-dessous :
  • La première ligne montre comment la fonction renvoie une séquence d’articles par balise.
  • La deuxième ligne montre comment enregistrer la fonction dans une variable de séquence. Le reste du code utilise ensuite une boucle for pour parcourir les valeurs de la variable. Toute variable d’article de blog doit utiliser le nom de l’élément individuel de la boucle plutôt que content.. Dans l’exemple, tag_post.name est utilisé. Vous pouvez utiliser cette technique sur les pages de blog et de site web.
Découvrez-en davantage sur la création d’une liste d’articles de blog connexes.
Remarque : cette fonction est limitée à 100 articles et à 10 appels par page.
{{ blog_recent_tag_posts("default", "marketing-tips", 5) }}
{% set tag_posts = blog_recent_tag_posts("default", ["marketing", "fun", "inbound"], 3, "AND") %}
{% for tag_post in tag_posts %}
<div class="post-title">{{ tag_post.name }}</div>
{% endfor %}
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser, soit un blog spécifique selon son ID, soit le blog par défaut avec "default". L’ID du blog est renvoyé selon le champ blog du module.
tag_slugChaîneIndique la balise sur laquelle le filtre doit porter. Vous pouvez inclure jusqu’à 10 balises, séparées par des virgules. Les balises avec plusieurs mots doivent être en minuscules avec des espaces remplacées par des traits d’union.
limitEntierIndique le nombre d’articles à ajouter à la séquence. Ce paramètre est obligatoire lors de l’inclusion d’un paramètre logical_operator.
logical_operatorChaîneLorsque tag_slug contient plusieurs balises, utilisez cet opérateur pour filtrer les résultats avec la logique AND ou OR. Par défaut, cette fonction utilise la logique OR pour renvoyer les publications étiquetées avec l’une des balises spécifiées. Lorsque vous incluez ce paramètre, limit est requis.

blog_tag_url

La fonction blog_tag_url renvoie une URL complète vers la page de listing de la balise du blog indiquée. Cette fonction accepte deux paramètres. Le premier paramètre indique dans quel blog se trouve la page de listing de la balise. Le deuxième paramètre indique la balise à mettre en lien. Ce paramètre peut utiliser topic.slug pour une balise particulière de content.topic_list ou accepter un nom en minuscule avec un trait d’union tel que "marketing-tips". L’exemple ci-dessous montre comment cette fonction peut être utilisée comme href d’une ancre.
<a href="https://developers.hubspot.fr/docs{{ blog_tag_url("default", "inbound-marketing") }}">Inbound Marketing</a>
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser, soit un blog spécifique selon son ID, soit le blog par défaut avec "default".
tag_slugChaîneIndique la balise vers laquelle le lien doit être établi.

blog_tags

La fonction blog_tags renvoie une séquence des 250 balises les plus présentes dans les blogs (en fonction du nombre d’articles de blog associés) pour le blog indiqué, triées par nombre d’articles de blog.Cette séquence peut être stockée dans une variable et être parcourue pour créer des filtres d’articles de balises personnalisés. Le nombre d’articles pour chaque balise peut être consulté avec tag.live_posts. Cette fonction accepte deux paramètres. Le premier paramètre indique le blog à partir duquel récupérer les balises. Le deuxième paramètre fixe une limite au nombre de balises récupérées. La première ligne de l’exemple ci-dessous montre comment la fonction renvoie une séquence d’objets balises. La suite de l’exemple montre un cas d’utilisation consistant à enregistrer une séquence dans une variable, puis à parcourir les objets balise, en imprimant un ensemble de liens de balise. L’exemple suppose que le blog a 4 balises.
Remarque : cette fonction est limitée à 250 balises.
{{ blog_tags("default", 250) }}

{% set my_tags = blog_tags("default", 250) %}
<ul>
{% for item in my_tags %}
<li><a href="https://developers.hubspot.fr/docs{{ blog_tag_url(group.id, item.slug) }}">{{ item }}</a></li>
{% endfor %}
</ul>
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à utiliser. L’ID du blog est renvoyé selon le champ blog du module.
limitEntierLe nombre maximum de balises à renvoyer.

blog_total_post_count

Cette fonction renvoie le nombre total d’articles publiés dans le blog indiqué. Si aucun paramètre n’est indiqué, il comptera les articles de votre blog par défaut. Vous pouvez également indiquer "default" ou l’ID d’un blog différent à comptabiliser. L’ID du blog est disponible dans l’URL de votre tableau de bord pour un blog particulier.
Remarque : cette fonction est limitée à 10 appels par page.
{{ blog_total_post_count }}
{{ blog_total_post_count(359485112) }}
ParamètreTypeDescription
selected_blogID du blog ou “default”Indique le blog à comptabiliser. L’ID du blog est renvoyé selon le champ blog du module.

clear

Supprime tous les éléments d’une liste. Contrairement à pop(), il ne renvoie rien.
{% set words = ["phone","home"] %}
{% do words.clear() %}
{{words}}

color_contrast

Cette fonction valide le contraste des couleurs en fonction des normes WCAG. Vous devrez inclure deux couleurs comme arguments, et vous pouvez inclure un argument facultatif pour spécifier l’évaluation (AA ou AAA). Renvoie true ou false selon que les couleurs respectent/dépassent la norme.
{{color_contrast('#FFFFFF','#273749')}}
{{color_contrast('rgb(255, 255, 255)','rgb(229, 237, 245)','AAA')}}
<p {% if color_contrast('rgb(12,31,1)', '#F0F', 'AA') %}style="color: #FF0000;"{% else %}style="color: #00FF00"{% endif %}>Hey there</p>
ParamètreTypeDescription
color_1CouleurLa première couleur à comparer. Accepte :
  • les codes hexadécimaux à 6 chiffres (#FFFFFF)
  • les codes hexadécimaux à 3 chiffres (#F0A)
  • les codes couleur RVB (rgb(12,31,1))
Peut également utiliser une variable qui stocke un code de couleur hexadécimal ou RVB. Par exemple :theme.primary_color.color
color_2CouleurLa deuxième couleur à comparer à la première.
ratingChaîneLa norme WCAG à utiliser pour l’évaluation. Peut être soit AA (par défaut) ou AAA.

color_variant

Cette fonction éclaircit ou assombrit une valeur hex ou une variable couleur d’une quantité définie. Le premier paramètre est la couleur hex (par exemple (“#FFDDFF”) ou une variable stockant une valeur hex. Le deuxième paramètre est la quantité pour l’ajustement, de 0 à 255. Cette fonction peut être utilisée dans les fichiers CSS pour créer une variation de couleur. Un autre bon cas d’utilisation est de l’utiliser avec un paramètre couleur d’un module couleur, pour permettre aux utilisateurs d’indiquer une couleur primaire qui génère automatiquement une variation de couleur. Dans l’exemple ci-dessous, la couleur hex #3A539B est stockée dans une variable appelée base_color. La couleur est modifiée par -80, ce qui donne un bleu plus foncé (#00034B).
{% set base_color ="#3A539B" %}
{{ color_variant(base_color, -80) }}
ParamètreTypeDescription
base_colorChaîne de couleurs hexLa couleur de départ à modifier. Par exemple : #F7F7F7.
brightness_offsetEntierUn nombre positif ou négatif utilisé pour éclaircir ou assombrir la couleur de base.

content_by_id

La fonction content_by_id renvoie une page de destination, une page de site web ou un article de blog par ID. Le seul paramètre accepté par cette fonction est un ID du contenu numérique. L’exemple de code ci-dessous montre l’utilisation de cette fonction pour générer un élément de liste avec lien hypertexte.
Remarque : cette fonction est limitée à 10 appels par page.
{% set my_content = content_by_id(4715624297) %}
<ul>
<li>
<a href="https://developers.hubspot.fr/docs{{ my_content.absolute_url }}">{{my_content.title}}</a>
</li>
</ul>
ParamètreTypeDescription
idIDL’ID du contenu à rechercher.

content_by_ids

La liste d’ID de contenu donnée, renvoie un dictionnaire de pages de destination, de pages de site web ou d’articles de blog correspondant à ces ID. Cette fonction prend un paramètre, une liste d’ID de pages ou d’articles de blog à rechercher, placés dans un tableau. Jusqu’à 100 objets de contenu peuvent être transmis. L’exemple de code ci-dessous montre l’utilisation de cette fonction pour générer une liste d’éléments de liste avec lien hypertexte.
Remarque : cette fonction est limitée à 10 appels par page.
{% set contents = content_by_ids([4715624297, 4712623297, 5215624284]) %}
<ul>
{% for content in contents %}
<li>
<a href="https://developers.hubspot.fr/docs{{ content.absolute_url }}">{{content.title}}</a>
</li>
{% endfor %}
</ul>
ParamètreTypeDescription
idsListeUne liste d’ID de pages ou d’articles de blog à rechercher. Jusqu’à 100 objets de contenu peuvent être transmis.

copy

Renvoie une copie simplifiée de la liste. Équivalent à a[:]. Une copie simplifiée construit un nouvel objet composé, puis (dans la mesure du possible) insère dans celui-ci des références aux objets présents dans l’original.
{% set a = ["ham"] %}
{% set b = a.copy() %}
a: {{a}}

b: {{b}}

After Append
{% do a.append("swiss") %}
a: {{a}}

b: {{b}}

count

Renvoie le nombre de fois qu’une variable existe dans une liste.
{% set attendees = ["Jack","Jon","Jerry","Jessica"] %}
{% set jon_count = attendees.count("Jon") %}
There are {{jon_count}} Jon's in the list.
<p>After append:</p>
{% do attendees.append("Jon") %}
{% set jon_count_after_append = attendees.count("Jon") %}
There are now {{jon_count_after_append}} Jon's in the list.

crm_associations

Obtient une liste d’enregistrements CRM associés à un autre enregistrement par son ID d’enregistrement, sa catégorie d’association et son ID de définition d’association. Cette fonction renvoie un objet avec les attributs suivants : has_more, total, offset et results.
  • has_more indique qu’il y a plus de résultats disponibles au-delà de ce lot (total > offset).
  • total est le nombre total de résultats disponibles.
  • offset est le décalage à utiliser pour le prochain lot de résultats.
  • results renvoie un tableau des objets associés indiqués correspondant aux paramètres de la fonction
Remarque : pour des raisons de sécurité, parmi les types d’objets standards de HubSpot, seuls les objets product et marketing_event peuvent être récupérés sur une page accessible au public. Tout autre type d’objet standard doit être hébergé sur une page qui est soit protégée par un mot de passe ou qui nécessite une connexion au contrôle d’accès CMS. Les objets personnalisés n’ont pas cette même restriction.
{% set associated_contacts = crm_associations(847943847, "HUBSPOT_DEFINED", 2, "limit=3&years_at_company__gt=2&orderBy=email", "firstname,email", false) %}
{{ associated_contacts }}
Remarque : cette fonction peut être appelée au maximum 10 fois par page. Chaque appel crm_associations peut renvoyer au maximum 100 objets. La limite par défaut est de 10 objets.
ParamètreTypeDescription
idIDde l’enregistrement à partir duquel les associations doivent être trouvées.
association categoryChaîneLa catégorie de la définition de l’association. Les valeurs possibles sont : HUBSPOT_DEFINED, USER_DEFINED et INTEGRATOR_DEFINED. Ce paramètre peut être omis pour les types d’association intégrés définis par HubSpot.
association type idEntierL’ID de la définition de l’association à utiliser. Pour les objets standards pris en charge par HubSpot, voir l’ID du type d’association à utiliser. Sinon, cet ID d’association peut être trouvé dans l’API de schéma d’objets CRM.
queryChaîneL’id de l’enregistrement OU une chaîne de requête, délimitée par &. Toutes les expressions sont combinées par un ET. Les opérateurs pris en charge :
  • eq (par défaut),
  • neq
  • lt
  • lte
  • gt
  • gte
  • is_null
  • not_null
  • in
  • nin
  • contains (pour les propriétés à plusieurs valeurs ou de chaîne, comme “firstname__contains=Tim”)
Les requêtes peuvent inclure les paramètres suivants :
  • limit : le nombre maximum de résultats renvoyés dans la réponse. Par exemple, limit=50.
  • offset : pour paginer les résultats si le nombre de résultats renvoyés est supérieur au paramètre de limite. Par exemple, offset=51.
  • orderBy : classer les résultats selon une propriété spécifique. Par exemple : orderBy=email.
propertiesChaîneFacultative. Une liste de propriétés à renvoyer, séparées par des virgules. Par défaut, un petit ensemble de propriétés communes est renvoyé. La propriété de l’ID est toujours renvoyée.Une liste complète des propriétés peut être trouvée en utilisant les points de terminaisons obtenir toutes les propriétés du contact et obtenir toutes les propriétés de l’entreprise.
formattingBooléenFacultatif. Formatez les valeurs telles que les dates et les devises en fonction des paramètres de ce portail. Omettre ou transmettre false pour les chaînes brutes.

crm_object

Récupère un seul enregistrement CRM par requête ou selon son ID. Les enregistrements sont renvoyés sous la forme d’un dictionnaire de propriétés et de valeurs. Cette fonction peut également être utilisée avec des objets personnalisés et des objets intégrateurs.
Remarque : pour des raisons de sécurité, parmi les types d’objets standards de HubSpot, seuls les objets product et marketing_event peuvent être récupérés sur une page accessible au public. Tout autre type d’objet standard doit être hébergé sur une page qui est soit protégée par un mot de passe ou qui nécessite une connexion au contrôle d’accès CMS. Les objets personnalisés n’ont pas cette même restriction.
Quelle est la différence entre in et contains ?in renvoie quelque chose si la valeur de la propriété correspond à l’une des valeurs données. Alors que contains renvoie quelque chose seulement si les valeurs de la propriété, pour sélection multiple, ont toutes les valeurs données.
<!-- by query -->
{% set contact = crm_object("contact", "email=contact@company.com", "firstname,lastname", false) %}
<!-- by id -->
{% set contact = crm_object("contact", 123) %}
{{ contact.firstname }}
{{ contact.lastname }}
Remarque : cette fonction ne peut être appelée qu’au maximum 10 fois par page.
ParamètreTypeDescription
object_typeChaîneLe nom du type d’objet. Les noms des types d’objets tiennent compte de la casse.Les types d’objets pris en charge. Pour trouver les noms des types d’objets spécifiques aux comptes et aux intégrateurs disponibles dans votre compte, utilisez l’API de schéma d’objets CRM pour obtenir les définitions des types et rechercher la propriété name. Elle contient le nom du type d’objet interne qui doit être utilisé dans la l’intégrateur functionFor pour les types d’objets spécifiques à l’intégrateur et au compte ayant le même nom que les objets intégrés, utilisez les objets nom entièrement qualifié (FQN).
queryChaîneFacultative. L’id de l’enregistrement OU une chaîne de requête, délimitée par &. Toutes les expressions sont combinées par un ET. Les opérateurs pris en charge :
  • eq (par défaut)
  • neq
  • lt
  • lte
  • gt
  • gte
  • is_null
  • not_null
  • in
  • nin
  • contains, (pour les propriétés à plusieurs valeurs ou de chaîne, comme “firstname__contains=Tim”)
Les requêtes peuvent inclure les paramètres suivants :
  • limit : le nombre maximum de résultats renvoyés dans la réponse. Par exemple, limit=50.
  • offset : pour paginer les résultats si le nombre de résultats renvoyés est supérieur au paramètre de limite. Par exemple, offset=51.
  • orderBy : classer les résultats selon une propriété spécifique. Par exemple : orderBy=email.
propertiesChaîneFacultative. Une liste de propriétés à renvoyer, séparées par des virgules. Par défaut, un petit ensemble de propriétés communes est renvoyé. La propriété de l’ID est toujours renvoyée.Une liste complète des propriétés peut être trouvée en utilisant les points de terminaisons obtenir toutes les propriétés du contact et obtenir toutes les propriétés de l’entreprise.
formattingBooléenFacultatif. Formatez les valeurs telles que les dates et les devises en fonction des paramètres de ce portail. Transmettre false pour les chaînes brutes.
Remarque : lors de la création d’une requête, les valeurs range, distinct, ndistinct et startswith sont des mots-clés réservés. Pour interroger une propriété qui utilise l’un de ces noms, vous devez utiliser le format suivant : range__eq= (plutôt que range=).

crm_objects

Obtient une liste d’enregistrements pour un type d’objet spécifique à partir du CRM de HubSpot. Cette fonction renvoie un objet avec les attributs suivants : has_more, total, offset et results.
  • has_more indique qu’il y a plus de résultats disponibles au-delà de ce lot (total > offset).
  • total est le nombre total de résultats disponibles.
  • offset est le décalage à utiliser pour le prochain lot de résultats.
  • results renvoie un tableau des objets indiqués correspondant aux paramètres de la fonction
Les résultats peuvent être triés en utilisant au moins un paramètre de classement dans la requête. Par exemple, crm_objects("contact", "firstname=Bob&order=lastname&order=createdate") classera les contacts portant le prénom "Bob" par nom de famille, puis par createdate. Pour inverser un tri, ajoutez - devant le nom de la propriété, par exemple order=-createdate. La fonction d’objets CRM peut également être utilisée avec des objets personnalisés et des objets intégrateurs.
Remarque : pour des raisons de sécurité, parmi les types d’objets standards de HubSpot, seuls les objets product et marketing_event peuvent être récupérés sur une page accessible au public. Tout autre type d’objet standard doit être hébergé sur une page qui est soit protégée par un mot de passe ou qui nécessite une connexion au contrôle d’accès CMS. Les objets personnalisés n’ont pas cette même restriction.
{% set objects = crm_objects("contact", "firstname__not_null=&limit=3", "firstname,lastname") %}
{{ objects }}
Remarque : cette fonction peut être appelée au maximum 10 fois par page. Chaque appel crm_objects peut renvoyer au maximum 100 objets. La limite par défaut est de 10 objets.
ParamètreTypeDescription
object_typeChaîneLe type d’objet par nom. Les noms des types d’objets tiennent compte de la casse. Le singulier et le pluriel sont acceptés pour les types d’objets standards (par exemple, contact, contacts). Découvrez-en davantage sur les types d’objets pris en charge. Pour trouver les noms des types d’objets spécifiques aux comptes et aux intégrateurs disponibles dans votre compte, utilisez l’API de schéma d’objets CRM pour obtenir les définitions des types et la propriété name. Pour les types d’objets spécifiques à l’intégrateur et au compte ayant le même nom que les objets intégrés, utilisez les objets nom entièrement qualifié (FQN).
queryChaîneFacultative. L’ID de l’enregistrement ou une chaîne de requête, délimitée par &. Toutes les expressions sont combinées par un ET.Les opérateurs pris en charge :
  • eq (par défaut)
  • neq
  • lt
  • lte
  • gt
  • gte
  • is_null
  • not_null
  • in
  • nin
  • contains, (pour les propriétés à plusieurs valeurs ou de chaîne, comme “firstname__contains=Tim”)
Exemple : "email=contact@company.com"
propertiesChaîneFacultative. Une liste de propriétés à renvoyer, séparées par des virgules. Par défaut, un petit ensemble de propriétés communes est renvoyé. La propriété ID est toujours renvoyée. Une liste complète des propriétés peut être trouvée en utilisant les points de terminaisons obtenir toutes les propriétés du contact et obtenir toutes les propriétés de l’entreprise. L’ID de l’enregistrement est toujours inclus dans les propriétés de l’objet renvoyé, même s’il n’est pas explicitement ajouté dans la liste des propriétés.
formattingBooléenFacultatif. Formatez les valeurs telles que les dates et les devises en fonction des paramètres de ce portail. Transmettre false pour les chaînes brutes.
Remarque : lors de la création d’une requête, les valeurs range, distinct, ndistinct et startswith sont des mots-clés réservés. Pour interroger une propriété qui utilise l’un de ces noms, vous devez utiliser le format suivant : range__eq= (plutôt que range=).

crm_property_definition

Obtenir la définition de la propriété pour un type d’objet et un nom de propriété donnés. Les types d’objets pris en charge sont les objets standards HubSpot (par exemple, contacts), les objets spécifiques au portail et les objets intégrateurs.
{{ crm_property_definition("house_listing", "agent_name") }}
ParamètreTypeDescription
object_typeChaîneLe nom du type d’objet. Les noms des types d’objets tiennent compte de la casse. Les types d’objets pris en charge. Pour trouver les noms des types d’objets spécifiques aux comptes et aux intégrateurs disponibles dans votre compte, utilisez l’API de schéma d’objets CRM pour obtenir les définitions des types et rechercher la propriété name. Elle contient le nom du type d’objet interne qui doit être utilisé dans la l’intégrateur functionFor pour les types d’objets spécifiques à l’intégrateur et au compte ayant le même nom que les objets intégrés, utilisez les objets nom entièrement qualifié (FQN).
property_nameChaîneLe nom de la propriété, sans tenir compte de la casse, dont la définition doit être récupérée.

crm_property_definitions

Obtenir les définitions de propriété pour un type d’objet et un ensemble de noms de propriétés donnés. Les types d’objets pris en charge sont les objets standards HubSpot (par exemple, contacts), les objets spécifiques au portail et les objets intégrateurs.
{{ crm_property_definitions("house_listing", "agent_name,address") }}
ParamètreTypeDescription
object_typeChaîneLe nom du type d’objet. Les noms des types d’objets tiennent compte de la casse. Les types d’objets pris en charge. Pour trouver les noms des types d’objets spécifiques aux comptes et aux intégrateurs disponibles dans votre compte, utilisez l’API de schéma d’objets CRM pour obtenir les définitions des types et rechercher la propriété name. Elle contient le nom du type d’objet interne qui doit être utilisé dans la l’intégrateur functionFor pour les types d’objets spécifiques à l’intégrateur et au compte ayant le même nom que les objets intégrés, utilisez les objets nom entièrement qualifié (FQN).
property_nameChaîneFacultative. Les noms de propriétés séparés par des virgules, sans tenir compte de la casse, pour lesquels il faut récupérer la définition. S’il est vide, les définitions de toutes les propriétés seront récupérées.

cta

Étant donné que les modules CTA possèdent de nombreux paramètres qui contiennent des variations de leur code, vous pouvez utiliser la fonction CTA pour générer facilement un CTA particulier dans un modèle, une page ou un e-mail. Cette fonction est celle que l’éditeur de texte enrichi utilise lorsque vous ajoutez un CTA via l’éditeur.
Remarque : cette fonction est limitée à 10 appels par page.
{{ cta("ccd39b7c-ae18-4c4e-98ee-547069bfbc5b")  }}
{{ cta("ccd39b7c-ae18-4c4e-98ee-547069bfbc5b", "justifycenter") }}
ParamètreTypeDescription
guidChaîneL’ID du CTA à rendre. Se trouve dans l’URL de l’écran de détails du CTA.
align_optÉnumérationAjuste l’alignement du CTA. Les valeurs comprennent : justifyleft, justifycenter, justifyright, justifyfull.

extend

Étend une liste en ajoutant tous les éléments d’une table itérative. En d’autres termes, insérer tous les éléments d’une liste dans une autre liste.
{% set vehicles = ["boat","car","bicycle"] %}
{% set more_vehicles = ["airplane","motorcycle"] %}
{% do vehicles.extend(more_vehicles) %}
{{vehicles}}

file_by_id

Cette fonction renvoie les métadonnées d’un fichier par ID. Elle accepte un seul paramètre, l’ID numérique du fichier à rechercher. Pour récupérer plusieurs fichiers à la fois, utilisez plutôt la fonction files_by_ids.
Remarque : cette fonction est limitée à 10 appels par page.
{% set file = file_by_id(123) %}
{{ file.friendlyUrl }}
ParamètreTypeDescription
file_idNombreL’ID du fichier à rechercher.

files_by_ids

Renvoie les métadonnées de plusieurs fichiers par ID. Cela accepte un tableau d’ID de fichiers.
Remarque : cette fonction est limitée à 10 appels par page et peut accepter jusqu’à 100 ID de fichier.
{% set files = files_by_ids([123,456])%}
{% for file in files %}
URL:{{file.friendlyUrl}}
<br>
{% endfor %}
ParamètreTypeDescription
file_idNombreLes ID des fichiers à rechercher, séparés par des virgules (jusqu’à 100).
Par exemple, vous pouvez utiliser cette fonction pour parcourir les fichiers téléchargés d’une fiche d’informations d’un contact. Pour parcourir les résultats, vous devrez utiliser le filtre HubL divisé, car la propriété CRM sera renvoyée sous la forme d’une chaîne séparée par un point-virgule.
{% set objects = crm_objects("contact", "email=bh@hubspot.com", "file").results %}

{% for item in objects %}

<!-- Need to use split filter as CRM property returns a string that is semi-colon separated -->
{% set fileIDs = item.file|split(";") %}

{% set files = files_by_ids(fileIDs) %}

 {% for file in files %}
 <div>
 File name: {{file.name}}
 <br>
 Friendly Url: {{file.friendlyUrl }}
 <br>
 Url: {{file.url }}
 <hr><br>
 </div>
 {% endfor %}
{% endfor %}

flag_content_for_access_check

Lorsqu’un article de blog est configuré pour l’accès à l’auto-inscription, les visiteurs devront s’inscrire ou se connecter pour afficher le contenu complet de l’article. Les ressources de listing de blog par défaut de HubSpot incluent automatiquement cette fonctionnalité, et incluront également un indicateur d’icône de cadenas pour les articles qui nécessitent une auto-inscription pour y accéder. En savoir plus sur la création de solutions personnalisées à l’aide de cette fonction et de son API correspondante. Cette fonction vérifie si un article de blog est accessible au visiteur actuel. Lorsqu’elle est appelée, la fonction est remplacée par l’attribut suivant : hs-member-content-access=<true/false> A value of true indicates that the blog post requires the visitor to log in to view the full content.
{% for content in contents %}
<article {{ flag_content_for_access_check(content.id) }} >
...
</article>
{% endfor %}
ParamètreTypeDescription
IDIDL’ID du contenu qui sera vérifié par rapport au visiteur actuellement connecté.
Renvoie les liens de compte de réseau social définis dans les paramètres du compte. Utilisé dans le module follow_me par défaut.
{% set fm = follow_me_links() %}
{{ fm }}

format_address

Formate une adresse en fonction des paramètres régionaux du contexte.
{{ format_address('en-us', { address: "25 First Street", address2: "2nd Floor", city: "Cambridge", state: "MA", country: "United States", zip: "02141"}) }}
ParamètreTypeDescription
localeChaîneLes paramètres régionaux selon lesquels formater l’adresse.
addressChaîneL’adresse postale.
address2ChaîneLa deuxième ligne de l’adresse, comme le numéro d’étage ou d’appartement.
cityChaîneLa ville de l’adresse.
stateChaîneL’état de l’adresse.
countryChaîneLe pays de l’adresse.
zipChaîneLe code postal de l’adresse.

format_company_name

Formate le nom d’une entreprise en ajoutant des titres honorifiques japonais, le cas échéant.
{{ format_company_name("companyName", addJapaneseHonorifics) }}
ParamètreTypeDescription
companyNameChaîneLe nom de l’entreprise.
useHonorificIfApplicableBooléenLorsque cet élément est défini sur true et que la langue du contexte est le japonais, un titre honorifique d’entreprise japonais sera ajouté, le cas échéant.

format_name

Formate le nom d’une personne en plaçant le nom de famille avant le prénom et ajoute des titres honorifiques japonais, le cas échéant.
{{ format_name("firstName", "surname", addJapaneseHonorifics) }}
ParamètreTypeDescriptionPar défaut
firstNameObligatoireLe prénom de la personne.
surnameChaîneLe nom ou prénom de la personne.False
useHonorificIfApplicableBooléenLorsque cet élément est défini sur true et que la langue du contexte est le japonais, un titre honorifique japonais sera ajouté, le cas échéant.

format_datetime

Formate les composants de date et d’heure d’un objet de date, comme pour le filtre HubL format_datetime. Cette fonction remplace la fonction obsolète datetimeformat.
{{ format_datetime(content.publish_date, "short", "America/New_York", "en") }}
ParamètreTypeDescription
formatChaîneLe format à utiliser. Peut être l’un des éléments suivants :
  • short
  • medium
  • long
  • full
  • un modèle personnalisé reposant sur Unicode LDML
timeZoneChaîneLe fuseau horaire de la date de sortie au format IANA TZDB.
localeChaîneLes paramètres régionaux à utiliser pour les formats reposant sur des paramètres régionaux.

geo_distance

Cette fonction contient 4 paramètres et calcule la distance ellipsoïdale 2D entre deux points sur la Terre. Utilisez cette fonction comme une requête de filtre pour obtenir des données HubDB.
{% for row in hubdb_table_rows(1234567, "geo_distance(loc,1.233,-5.678,mi)__gt=500") %}
{{row.name}} <br>
{% endfor %}
ParamètreTypeDescription
point1EmplacementEmplacement à partir d’une colonne HubDB.
point2_latLatitudeLatitude du point2.
point2_longLongitudeLongitude du point2.
unitsChaîneUnités pour la valeur de renvoi. Les options sont FT pour pieds, MI pour miles, M pour mètres ou KM pour kilomètres.

get_asset_url

Cette fonction renvoie l’URL publique d’un modèle ou d’un fichier de code indiqué. Le paramètre de cette fonction est le chemin d’accès de la ressource dans le gestionnaire de conception. Les URL des fichiers codés sont mises à jour à chaque fois que vous les publiez ; par conséquent, en utilisant cette fonction, vous vous assurez de toujours utiliser la dernière version du fichier. Vous pouvez générer automatiquement cette fonction dans l’application, soit en faisant un clic droit sur un fichier et en sélectionnant Copier l’URL publique, soit en cliquant sur Actions, puis en sélectionnant Copier l’URL publique. L’exemple ci-dessous permet d’obtenir l’URL d’un fichier JavaScript créé dans le gestionnaire de conception qui peut être inclus comme src d’une balise <script>.
copie-public-url
{{ get_asset_url("/custom/styles/style.css") }}
ParamètreTypeDescription
pathChaîneLe chemin d’accès du fichier du gestionnaire de conception vers le modèle ou le fichier.

get_public_template_url_by_id

Cette fonction s’utilise comme get_public_template_url, elle renvoie l’URL publique d’un modèle ou d’un fichier de code indiqué. La seule différence est que le paramètre de cette fonction est l’ID du modèle (disponible dans l’URL du modèle ou du fichier codé), au lieu du chemin d’accès du gestionnaire de conception.
{{ get_public_template_url_by_id("2778457004")  }}
ParamètreTypeDescription
template_idIDLe numéro d’ID du modèle de fichier.

hubdb_table

HubDB est une fonctionnalité disponible dans le Content Hub Pro et Entreprise. La fonction hubdb_table peut être utilisée pour obtenir des informations sur un tableau, notamment son nom, ses colonnes, sa dernière mise à jour, etc. Les éléments d’information suivants peuvent être extraits en appelant les attributs appropriés :
  • ID : l’ID du tableau.
  • name : nom du tableau.
  • columns : une liste d’informations sur les colonnes.
  • created_at : l’horodatage de la date de création de ce tableau.
  • published_at : l’horodatage de la date de publication de ce tableau.
  • updated_at : l’horodatage de la dernière mise à jour de ce tableau.
  • row_count : le nombre de lignes dans le tableau.
{% set table_info = hubdb_table(1548215) %}
{{ table_info.row_count }}
Remarque : cette fonction est limitée à 10 appels par page.
ParamètreTypeDescription
table_idChaîneID ou nom du tableau.

hubdb_table_column

HubDB est une fonctionnalité disponible dans le Content Hub Pro et Entreprise. La fonction hubdb_table_column peut être utilisée pour obtenir des informations sur une colonne du tableau telles que son libellé, son type et ses options. Cette fonction accepte deux paramètres. Ces informations sur la colonne peuvent être extraites en appelant les attributs appropriés :
  • ID : l’ID de la colonne.
  • name : nom de la colonne.
  • label : le libellé à utiliser pour la colonne.
  • type : le type de la colonne.
  • options : pour les colonnes de type select, un plan de optionId et les informations sur les options.
  • foreignIds : pour les colonnes de type "foreignId", une liste de foreignIds (avec les propriétés id et name).
En plus des attributs ci-dessus, il existe également une méthode qui peut être appelée : getOptionByName("&lt;option name&gt;") pour les colonnes de type "select", cela permet d’obtenir des informations sur l’option grâce au nom de l’option.
Les noms des colonnes ne tiennent pas compte de la casse. Par exemple, HS_ID et hs_id sont tous deux valides.
{% set column_info = hubdb_table_column(123456, 6)  %}
{{ column_info.label }}
ParamètreTypeDescription
table_idChaîneID ou nom du tableau.
columnChaîneID ou nom de la colonne.

hubdb_table_row

HubDB est une fonctionnalité disponible dans le Content Hub Pro et Entreprise. La fonction hubdb_table_row peut être utilisée pour extraire une seule ligne d’un tableau HubDB. À partir de cette ligne, vous pouvez extraire des informations de chaque cellule du tableau en faisant appel à l’attribut correspondant :
  • hs_id : l’identifiant unique au niveau mondial pour cette ligne.
  • hs_created_at : un horodatage représentant la date de création de cette ligne.
  • hs_path : avec des pages dynamiques, cette chaîne est le dernier segment du chemin d’accès de l’URL de la page.
  • hs_name : avec des pages dynamiques, il s’agit du titre de la page.
  • <column name> ou [“<column name&gt”] : obtient la valeur de la colonne pour cette ligne selon le name de la colonne.
Les noms des colonnes ne tiennent pas compte de la casse. Par exemple, HS_ID et hs_id sont tous deux valides.
{% set row = hubdb_table_row(1548264, 6726439331)  %}
{{ row.role  }}
Remarque : cette fonction est limitée à 10 appels par page.
ParamètreTypeDescription
table_idChaîneID ou nom du tableau.
row_idEntierID de la ligne du tableau.

hubdb_table_rows

HubDB est une fonctionnalité disponible dans le Content Hub Pro et Entreprise. La fonction hubdb_table_rows peut être utilisée pour lister les lignes d’un tableau HubDB, afin de les parcourir. Un appel de hubdb_table_rows() est limité à 10 analyses de tableau par page. Par défaut, cette fonction renverra un maximum de 1 000 lignes. Pour récupérer plus de lignes, spécifiez une limit dans la requête, comme indiqué dans le code ci-dessous.
Remarque : si vous utilisez un filtre aléatoire sur cette fonction, la page sera pré-rendue périodiquement. Cela signifie que le contenu filtré ne sera pas mis à jour à chaque rechargement de page.
{% for row in hubdb_table_rows(1546258, "years_at_company__gt=3&orderBy=count&limit=1500") %}
the value for row {{ row.hs_id }} is {{ row.name }}
{% endfor %}
ParamètreTypeDescription
table_idChaîneID ou nom du tableau à questionner.
queryChaîneUne requête au même format qu’une chaîne de requête URL. Si elle n’est pas transmise, elle renvoie toutes les lignes. Découvrez-en davantage sur les filtres disponibles pour interroger les lignes de tableau HubDB. Vous pouvez inverser le tri en ajoutant un - devant le nom de la colonne : orderBy=-bar. Vous pouvez inclure ce paramètre plusieurs fois pour trier plusieurs colonnes. Outre le tri par colonne, vous pouvez également inclure les fonctions suivantes :
  • geo_distance(location_column_name, latitude, longitude) : prend le nom d’une colonne d’emplacement et des coordonnées, renvoie les lignes classées en fonction de la distance entre la valeur de la colonne d’emplacement indiquée et les coordonnées fournies.
  • length(column_name) : prend le nom d’une colonne, renvoie les lignes classées selon la longueur de la valeur de la colonne (calculée sous forme de chaîne)
  • random() : renvoie les lignes dans un ordre aléatoire.
Ces fonctions prennent également en charge le classement inverse. Par exemple, orderBy=-geo_distance(location_column,42.37,-71.07)renvoie d’abord les éléments les plus éloignés.
Remarque : lors de la création d’une requête, les valeurs range, distinct, ndistinct et startswith sont des mots-clés réservés. Pour interroger une propriété qui utilise l’un de ces noms, vous devez utiliser le format suivant : range__eq= (plutôt que range=).

include_default_custom_css

Cette fonction génère une balise de lien qui fait référence au Fichier CSS principal (default_custom_style.min.css). Ce fichier est conçu pour être un fichier CSS global qui peut être ajouté à tous les modèles. Pour effectuer le rendu, la fonction nécessite un paramètre booléen dont la valeur est True.
{{ include_default_custom_css(True) }}

index

Renvoie l’emplacement du premier élément correspondant dans un array à base de 0. Cette fonction accepte 3 paramètres. Le premier paramètre est obligatoire. Le premier paramètre est l’élément que vous essayez de trouver dans le array. Le deuxième (start) et le troisième (end) vous permettent de trouver cet élément dans une partie du array.
{% set shapes = ["triangle","square","trapezoid","triangle"] %}
triangle index: {{shapes.index("triangle")}} <br>
trapezoid index: {{shapes.index("trapezoid")}}
<hr>
adjusted start and end <br>
triangle index: {{shapes.index("triangle",1,5)}}

insert

Place un élément dans une liste à l’indice spécifique fourni. Cette fonction accepte deux paramètres :
  • Index : la position où un élément doit être inséré.
  • Element : l’élément à insérer.
{% set even_numbers = [2,4,8,10]  %}
{% do even_numbers.insert(2,6) %}
{{even_numbers}}

locale_name

Renvoie une représentation sous forme de chaîne lisible par l’homme d’un code de langue, éventuellement traduit dans une langue cible.
{{ locale_name("es") }}
{{ locale_name("es", "en") }}
ParamètreTypeDescription
language_codeChaîneLe code de la langue.
target_language_codeChaîneLa langue dans laquelle la sortie sera traduite.

load_translations

Charge les traductions à partir d’un chemin de dossier _locales spécifique et renvoie une carte des valeurs. Découvrez-en davantage sur l’inclusion des traductions de champs dans des modules et des thèmes personnalisés.
{% set template_translations = load_translations('../_locales', 'fr', 'en') %}
{{ partial_footer_address }}
ParamètreTypeDescription
pathChaîneLe chemin d’accès au répertoire _locales des traductions.
language_codeChaîneLe code de la langue.
language_code_fallbackChaîneLe code de langue de secours si language_code n’est pas présent.
Renvoie la structure des liens imbriqués d’un menu avancé. Les nœuds de menu ont une variété de propriétés qui peuvent être utilisées sur les objets qui sont renvoyés. Si vous transmettez null à la fonction menu, elle renverra une liste de pylônes vide. Vous pouvez également indiquer un menu par son nom. Dans la plupart des cas, il est plus sûr d’utiliser l’id du menu, car un menu renommé conservera son id. S’il est créé pour le marketplace, il est logique de mettre par défaut "default" si le menu est null.
Remarque : cette fonction est limitée à 10 appels par page.
{% set node = menu(987) %}
{% for child in node.children %}
{{ child.label }}<br>
{% endfor %}

{% set default_node = menu("default") %}
{% for child in default_node.children %}
{{ child.label }}<br>
{% endfor %}
Lorsque vous utilisez la fonction menu() pour générer un menu, vous êtes entièrement responsable de l’accessibilité de votre menu.
ParamètreTypeDescription
menu_idIDObligatoire. L’id du menu transmis sous forme de nombre.
root_typeÉnumérationType de racine du menu ("site_root", "top_parent", "parent", "page_name", "page_id", "breadcrumb").
  • "site_root" statique - Affiche toujours les pages d’accueil dans le menu.
  • "top_parent" dynamique par rubrique - Affiche les pages du menu relatives à la section consultée.
  • "parent" dynamique par page - Afficher les pages du menu relatives à la page consultée.
  • "breadcrumb" menu déroulant de style fil d’Ariane (utilise le flux horizontal).
root_keyChaîneClé racine (id ou nom) en cas d’utilisation de "page_name" ou "page_id".

module_asset_url

Obtient l’URL d’une ressource attachée à un module personnalisé via Fichiers associés > Autres fichiers.
{{ module_asset_url("smile.jpg") }}
ParamètreTypeDescription
nameChaîneLe nom de la ressource.

namespace

Crée un objet d’espace de noms qui peut contenir des attributs arbitraires. Il peut être initialisé à partir d’un dictionnaire ou avec des arguments de mots-clés.
{% set ns = namespace({"name": "item name", "price":"100"}, b=false) %}
{{ns.name}}, {{ns.b}}
ParamètreTypeDescription
dictionaryMapLe dictionnaire avec lequel initialiser.
kwargsChaîneArguments de mots-clés à mettre dans le dictionnaire de l’espace de noms.

oembed

Renvoie le dictionnaire de données OEmbed pour la requête donnée. Ne fonctionne que dans les e-mails.
{{ oembed({ url: "https://www.youtube.com/watch?v=KqpFNtbEOh8"}) }}
ParamètreTypeDescription
requestChaîneObjet de la requête, {url: string, max_width: long, max_height: long}.

personalization_token

Renvoie la valeur d’un contact ou d’une propriété liée à un contact, ou une valeur par défaut.
Hi {{ personalization_token("contact.firstname", "there") }}!
ParamètreTypeDescription
expressionChaîneUne expression pour l’objet et la propriété à rendre.
defaultChaîneFacultative. Une valeur par défaut à utiliser si l’expression n’a pas de valeur.

pop

Supprime de la liste l’élément situé à l’indice. Renvoie également l’élément supprimé s’il est imprimé.
{% set even_numbers = [2,3,4,6,8,9,10]  %}
{% do even_numbers.pop(1) %}
{{even_numbers.pop(4)}}
{{even_numbers}}

postal_location

La fonction postal_location renvoie le couple latitude/longitude de l’emplacement pour un code postal et un code pays donnés (limité aux États-Unis, à la Californie et au Royaume-Uni).
{{ postal_location("02139") }}
{% set location = postal_location("02139", "US") %}
{{ location.latitude }}
{{ location.longitude }}
Remarque : cette fonction est limitée à 10 appels par page.
ParamètreTypeDescription
postal_codeChaîneCode postal de l’emplacement.
country_codeChaîneCode de pays pour le code postal. S’il n’est pas fourni, le pays sera déduit du code postal.

put

Similaire à la fonction de mise à jour, qui met à jour un dictionnaire avec les éléments d’un autre objet de dictionnaire ou d’une table itérative de paires clé/valeur, sauf que put prend en charge les noms de variables dans les dictionnaires.
{% set dict_var = {"authorName": "Tim Robinson"} %}
{% set key = "key" %}
{% set value = "value" %}
{% do dict_var.put(key, value) %}
{{ dict_var }}

range

Renvoie une liste contenant une progression arithmétique d’entiers. Avec un paramètre, la plage renvoie une liste allant de 0 à la value (mais sans l’inclure). Avec deux paramètres, la plage commencera à la première valeur et s’incrémentera de 1 jusqu’à la deuxième value (mais sans l’inclure). Le troisième paramètre indique l’incrément de l’étape. Toutes les valeurs peuvent être négatives. Les plages impossibles renverront une liste vide. Les plages peuvent générer un maximum de 1000 valeurs. La plage peut être utilisée dans une boucle for pour indiquer le nombre d’itérations à exécuter.
{{ range(11) }}
{{ range(5, 11) }}
{{ range(0, 11, 2) }}

{% for number in range(11) %}
{{ number }}
{% endfor %}

require_css

Cette fonction met en file d’attente un fichier CSS à rendre dans l’élément head. Toutes les balises de link CSS sont regroupées et sont rendues avant toute balise JavaScript. Le HubL est remplacé par une ligne vide, puis une balise de link est ajoutée à {{ standard_header_includes }}. Cette méthode nécessite une URL absolue ; le contenu du CMS avec une URL relative connue peut être nécessaire en utilisant la fonction get_asset_url(). Pour mettre en file d’attente un style intraligne à rendre dans head via un élément de balise de style, utilisez plutôt les balises {% require_css %} and {% end_require_css %} et avec vos balises de style et CSS à l’intérieur. Le second paramètre est un dictionnaire d’options permettant de modifier la balise générée. Pend en charge async (true/false) , une technique décrite sur web.dev et tout autre couple clé-valeur sera ajoutée comme attribut HTML à la balise de style.
{{ standard_header_includes }}
<!-- more html -->
{{ require_css("http://example.com/path/to/file.css") }}
{{ require_css(get_asset_url("/relative/path/to/file.css")) }}

<!-- you can tell the browser to load the file asynchronously -->
{{ require_css(get_asset_url("./style.css"), { async: true }) }}

require_js

Indique si un script doit être mis en file d’attente pour être rendu dans l’en-tête ou le pied de page (par défaut). Indiquez l’emplacement du rendu en incluant le paramètre head ou footer. Le HubL sera remplacé par une ligne vide, et inclus soit dans l’en-tête ou le pied de page. Pour mettre en file d’attente un script intraligne qui sera rendu dans le pied de page via l’élément script, encadrez vos balises <script> avec {% require_js %} et {% end_require_js %}. Vous pouvez également inclure des options de rendu supplémentaires dans cette fonction. Ils seront ajoutés en tant qu’attributs HTML dans la balise script. Les options de rendus incluent :
  • position : head/footer
  • defer : true/false
  • async : true/false
  • type : string
{{ standard_header_includes }}
<!-- more html -->

{{ require_js("http://example.com/path/to/footer-file.js", "footer") }}
{{ require_js("http://example.com/path/to/head-file.js", "head") }}

<!-- you can add async or defer attributes to the tags that are added. -->
{{ require_js(get_asset_url("./path/to/file.js"), { position: "footer", async: true }) }}
{{ require_js(get_asset_url("./jquery-latest.js"), { position: "footer", defer:true }) }}

{{ standard_footer_includes }}

resize_image_url

Réécrit l’URL de l’image stockée dans le Gestionnaire de fichiers en une URL qui redimensionnera l’image sur demande. La fonction accepte un paramètre obligatoire et cinq paramètres facultatifs. Au moins un paramètre facultatif doit être transmis. Obligatoire
  • URL : chaîne, URL d’une image hébergée par HubSpot.
Facultatif
  • width : nombre, la nouvelle largeur de l’image en pixels.
  • height : nombre, la nouvelle hauteur de l’image en pixels.
  • length : nombre, la nouvelle longueur du plus grand côté, en pixels.
  • upscale : booléen, utilise les dimensions de l’image redimensionnée même si elles augmentent l’échelle de l’image originale (les images peuvent apparaître floues).
  • upsize : booléen, renvoie l’image redimensionnée même si elle est plus grande que l’originale en octets.
Remarque : les images supérieures à 4 096 pixels en hauteur ou en largeur ne seront pas automatiquement redimensionnées. Au lieu de cela, vous devrez redimensionner manuellement l’image.
{{ resize_image_url("http://your.hubspot.site/hubfs/img.jpg", 0, 0, 300) }}
ParamètreTypeDescription
urlChaîneURL d’une image hébergée par HubSpot.
widthEntier (px)La nouvelle largeur de l’image, en pixels.
heightEntier (px)La nouvelle hauteur de l’image, en pixels.
lengthEntier (px)La nouvelle longueur du plus grand côté, en pixels.
upscaleBooléenUtilise les dimensions de l’image redimensionnée même si elles augmentent l’échelle de l’image originale (les images peuvent apparaître floues). La valeur par défaut est false.
upsizeBooléenRenvoie l’image redimensionnée même si elle est plus grande que l’originale en octets.La valeur par défaut est false.

reverse

Inverse le classement des éléments d’une liste. Il ne prend pas de paramètres. Pour inverser un objet ou renvoyer un itérateur pour parcourir la liste en sens inverse, utilisez |reverse
{% set numbers = [1,2,3,4] %}
{% do numbers.reverse() %}
{{numbers}}

set_response_code

Définir le code de réponse comme le code indiqué. 404 est le seul code pris en charge pour le moment. Si vous l’utilisez, votre page renverra une erreur 404.
{{ set_response_code(404) }}
ParamètreTypeDescription
codeEntierLe code de réponse HTTP. Actuellement, 404 est le seul code pris en charge.

super

Cette fonction imprime le contenu du modèle parent dans un modèle enfant en utilisant la balise extends. Par exemple, dans le code ci-dessous, un modèle HTML de base a été créé avec un bloc HubL nommé sidebar et enregistré sous parent.html. Un deuxième fichier de modèle est créé et va étendre ce fichier parent. Normalement, le <h3> serait imprimé dans le bloc de la barre latérale du HTML parent. Mais en utilisant super, le contenu du bloc de la barre latérale du modèle parent est combiné avec le contenu du modèle enfant.
{% extends "custom/page/web_page_basic/parent.html" %}

{% block sidebar %}
<h3>Table Of Contents</h3>
{{ super() }}
{% endblock %}

today

Renvoie le début de la journée (12h00). Vous pouvez éventuellement ajouter un paramètre pour modifier le fuseau horaire par rapport à l’UTC par défaut.
{{ today() }}
{{ today("America/New_York") }}
{{ unixtimestamp(today("America/New_York").plusDays(1)) }}

to_local_time

Convertit un horodatage UNIX en heure locale, en fonction des paramètres de votre rapport HubSpot. Vous pouvez ensuite appliquer un filtre datetimeformat pour formater la date.
{{ to_local_time(eastern_dt) }}
ParamètreTypeDescription
dateHorodatageUNIX à convertir en heure locale.

topic_cluster_by_content_id

Renvoie un dictionnaire HubL représentant le groupe thématique associé à un élément de contenu (déterminé par l’id de contenu transmis), y compris les métadonnées sur la page pilier associée, le thème principal et les sous-thèmes. Peut être utilisé pour établir un “auto-link” entre un élément de contenu et la page pilier qui lui est associée [si elle existe]. Les métadonnées disponibles se trouvent dans : attachableContent (les métadonnées du contenu actuel), topic (les métadonnées du thème associé du contenu actuel), coreTopic (les métadonnées du thème principal du groupe associé), et pillarPage (les métadonnées de la page pilier associées). Utilisez {{ topicCluster|pprint }} pour obtenir un affichage complet des propriétés/attributs disponibles.
{{ topic_cluster_by_content_id(content.id) }}
{%- if content.id -%}
{%- set topicCluster = topic_cluster_by_content_id(content.id) -%}
{%- if topicCluster.pillarPage.url.value and topicCluster.pillarPage.publishState == "PUBLISHED" -%}
<div>Topic: <a href="https://developers.hubspot.fr/docs{{ topicCluster.pillarPage.url.value }}">{{ topicCluster.coreTopic.phrase }}</a></div>
{%- endif -%}
{%- endif -%}
Remarque : cette fonction est limitée à 10 appels par page.
ParamètreTypeDescription
content_idIDL’id de la page à rechercher.

truncate

La fonction truncate s’utilise de la même manière que le filtre truncate, mais utilise la syntaxe de la fonction au lieu de celle du filtre. Le premier paramètre indique la chaîne. Le deuxième paramètre indique la longueur à laquelle il faut tronquer. Le dernier paramètre indique les caractères à ajouter lorsque la troncature se produit.
Remarque : comme cette fonction s’appuie sur les espaces entre les mots pour raccourcir les chaînes, il se peut qu’elle ne fonctionne pas comme prévu pour les langues sans espace entre caractères, comme le japonais.
{{ truncate("string to truncate at a certain length", 19, false, "...") }}

{% set longString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sodales ultricies velit sit amet ornare." %}
{{ truncate(longString, 40, false, "...") }}
ParamètreTypeDescription
string_to_truncateChaîneChaîne qui sera tronquée.
lengthEntierindique la longueur à laquelle le texte doit être tronqué (y compris les caractères HTML).
killwordsBooléenSi elle est vraie, la chaîne coupera le texte en longueur, même si c’est au milieu d’un mot.
endChaîneLes caractères qui seront ajoutés pour indiquer où le texte a été tronqué.

type

Cette fonction accepte un argument et renvoie le type d’un objet. La valeur de renvoie peut être : "bool", "datetime", "dict", "float", "int", "list", "long", "null", "str" ou "tuple".
{{ type("Blog") }}
{% set my_type = type("Blog") %}
<p>{{my_type}}</p>

unixtimestamp

Cette fonction renvoie un horodatage unix lorsque vous fournissez un objet datetime.
{{ unixtimestamp(d) }}

update

Met à jour le dictionnaire avec les éléments d’un autre objet dictionnaire ou d’une table itérative de paires clé/valeur. Utilisez cette fonction pour combiner ou fusionner des objets.
{% set dict_var = {"authorName": "Douglas Judy", "authorTitle": "Mastermind" } %}
{% do dict_var.update({"authorFriend": "Jake"}) %}
{% do dict_var.update({"authorLocation": "unknown"}) %}
{{ dict_var }}