> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.fr/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Fonctions HubL

> Un listing de référence de toutes les fonctions HubL disponibles.

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](/docs/cms/versions-deprecations/deprecated/hubl/filters-functions).

Découvrez ci-dessous chaque fonction HubL et sa syntaxe.

## append

Ajoute un seul élément à la fin d'une liste.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set numbers_under_5 = [1,2,3] %}
  {% do numbers_under_5.append(4) %}
  {{numbers_under_5}}
  ```

  ```text sortie rendue.txt theme={null}
  [1, 2, 3, 4]
  ```
</CodeGroup>

| Paramètre | Type | Description                   |
| --------- | ---- | ----------------------------- |
| `item`    | Tout | É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.

<CodeGroup>
  ```html example.html theme={null}
  <a href="https://developers.hubspot.fr/docs{{ blog_all_posts_url("default") }}">All Marketing blog posts</a>
  ```

  ```html example.html theme={null}
  <a href="http://www.hubspot.com/marketing/all">All Marketing blog posts</a>
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                                           |
| --------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID du blog ou "default" | Indique le blog à utiliser. L'ID du blog est renvoyé selon le [champ blog du module](/docs/cms/reference/fields/module-theme-fields#blog). |

## 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.

<CodeGroup>
  ```html example.html theme={null}
  <a href="https://developers.hubspot.fr/docs{{ blog_author_url("default", "brian-halligan") }}">Brian Halligan</a>
  ```

  ```html example.html theme={null}
  <a href="http://blog.hubspot.com/marketing/author/brian-halligan"
  >Brian Halligan</a
  >
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                                                                                                                                                                                         |
| --------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID 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](/docs/cms/reference/fields/module-theme-fields#blog). |
| `author_slug`   | Chaîne ou variable HubL | Indique 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`.

<Warning>
  **Remarque :** cette fonction est limitée à 250 auteurs. Cette fonction est également limitée à 10 appels par page.
</Warning>

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.

<CodeGroup>
  ```html example.html theme={null}
  {{ 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>
  ```

  ```html example.html theme={null}
  [ Brian Halligan, Dharmesh Shah, Katie Burke, Kipp Bodnar]

  <ul>
  <li><a href="http://blog.hubspot.com/marketing/author/brian-halligan">Brian Halligan</a></li></li>
  <li><a href="http://blog.hubspot.com/marketing/author/dharmesh-shah">Dharmesh Shah</a></li></li>
  <li><a href="http://blog.hubspot.com/marketing/author/katie-burke">Katie Burke</a></li></li>
  <li><a href="http://blog.hubspot.com/marketing/author/kipp-bodnar">Kipp Bodnar</a></li></li>
  </ul>
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                                                                                                                           |
| --------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID 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](/docs/cms/reference/fields/module-theme-fields#blog). |
| `limit`         | Entier                  | Dé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.

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {% 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>
  ```

  ```html example.html theme={null}
  <ul>
  <li>
  <a href="http://blog.bikinginearnest.com/outdoors"
  >Outdoor biking for the earnest</a
  >
  </li>
  </ul>
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                                                                                                                           |
| --------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID 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](/docs/cms/reference/fields/module-theme-fields#blog). |

## blog\_page\_link

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.

<CodeGroup>
  ```html example.html theme={null}
  <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>
  ```

  ```html example.html theme={null}
  <a href="http://designers.hubspot.com/blog/page/1">Page 1</a>
  <a href="http://designers.hubspot.com/blog/page/7">Page 7</a>
  <a href="http://designers.hubspot.com/blog/page/2">Next</a>
  <a href="http://designers.hubspot.com/blog/page/5">Page Plus 4</a>
  ```
</CodeGroup>

| Paramètre | Type                    | Description                                                                           |
| --------- | ----------------------- | ------------------------------------------------------------------------------------- |
| `page`    | Nombre ou variable HubL | Numéro de page utilisé pour générer l'URL ou la variable HubL pour le numéro de page. |

## blog\_popular\_posts

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](#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](/docs/cms/reference/hubl/loops). [Toute variable d'article de blog](/docs/cms/reference/hubl/variables#blog-variables) 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.

<Warning>
  **Remarque :** cette fonction est limitée à 200 articles. Cette fonction est également limitée à 10 appels par page.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {% 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 %}
  ```

  ```html example.html theme={null}
  [Popular post title 1, Popular post title 2, Popular post title 3, Popular post
  title 4, Popular post title 5]

  <div class="post-title">Popular post title 1</div>
  <div class="post-title">Popular post title 2</div>
  <div class="post-title">Popular post title 3</div>
  <div class="post-title">Popular post title 4</div>
  <div class="post-title">Popular post title 5</div>
  ```
</CodeGroup>

| Paramètre          | Type                    | Description                                                                                                                                                                                                                                                                                                                                                               |
| ------------------ | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog`    | ID du blog ou "default" | Indique le blog à utiliser, soit un blog spécifique selon son ID, soit le blog par défaut avec `"default"`.                                                                                                                                                                                                                                                               |
| `limit`            | Entier                  | Indique 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_slug`         | Tableau                 | Liste facultative de balises permettant de filtrer les articles.                                                                                                                                                                                                                                                                                                          |
| `time_frame`       | Chaîne                  | Pé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 :<ul><li>`"popular_all_time"` </li><li>`"popular_past_year"`</li><li>`"popular_past_six_months"` </li><li>`"popular_past_month"`</li></ul>Ce paramètre est obligatoire lors de l'inclusion du paramètre `logical_operator`. |
| `logical_operator` | Chaîne                  | Lorsque `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.

<CodeGroup>
  ```html example.html theme={null}
  <a href="https://developers.hubspot.fr/docs{{ blog_post_archive_url("default", 2017, 7, 5) }}">Posts from July 5th, 2017</a>
  ```

  ```html example.html theme={null}
  <a href="http://blog.hubspot.com/marketing/archive/2017/07/05"
  >Posts from July 5th, 2017</a
  >
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                 |
| --------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID du blog ou "default" | Indique le blog à utiliser, soit un blog spécifique selon son ID, soit le blog par défaut avec `"default"`. |
| `year`          | Entier                  | L'année.                                                                                                    |
| `month`         | Entier                  | Le mois facultatif.                                                                                         |
| `day`           | Entier                  | Le 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](/docs/cms/reference/hubl/variables#blog-variables) 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.

<Warning>
  **Remarque :** cette fonction est limitée à 200 articles et à 10 appels par page.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {{ 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 %}
  ```

  ```html example.html theme={null}
  [Post by author title 1, Post by author title 2, Post by author title 3, Post by
  author title 4, Post by author title 5]

  <div class="post-title">Post by author title 1</div>
  <div class="post-title">Post by author title 2</div>
  <div class="post-title">Post by author title 3</div>
  <div class="post-title">Post by author title 4</div>
  <div class="post-title">Post by author title 5</div>
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                                           |
| --------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID du blog ou "default" | Indique le blog à utiliser. L'ID du blog est renvoyé selon le [champ blog du module](/docs/cms/reference/fields/module-theme-fields#blog). |
| `author_slug`   | Chaîne                  | Indique l'auteur sur lequel le filtre doit porter.                                                                                    |
| `limit`         | Entier                  | Indique 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](/docs/cms/reference/hubl/variables#blog-variables) 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.

<Warning>
  **Remarque :** cette fonction est limitée à 200 articles et à 10 appels par page.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {{ 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 %}
  ```

  ```html example.html theme={null}
  [Recent post title 1, Recent post title 2, Recent post title 3, Recent post
  title 4, Recent post title 5]

  <div class="post-title">Recent post title 1</div>
  <div class="post-title">Recent post title 2</div>
  <div class="post-title">Recent post title 3</div>
  <div class="post-title">Recent post title 4</div>
  <div class="post-title">Recent post title 5</div>
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                                                                                                                           |
| --------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID 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](/docs/cms/reference/fields/module-theme-fields#blog). |
| `limit`         | Entier                  | Indique 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](/docs/cms/reference/hubl/variables#blog-variables) 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](/docs/cms/reference/hubl/tags/related-blog-posts).

<Warning>
  **Remarque :** cette fonction est limitée à 100 articles et à 10 appels par page.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {{ 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 %}
  ```

  ```html example.html theme={null}
  [Post about Marketing 1, Post about Marketing 2, Post about Marketing 3, Post
  about Marketing 4, Post about Marketing 5]

  <div class="post-title">Post about Marketing</div>
  <div class="post-title">Post about Fun</div>
  <div class="post-title">Post about Inbound</div>
  ```
</CodeGroup>

| Paramètre          | Type                    | Description                                                                                                                                                                                                                                                                                                            |
| ------------------ | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog`    | ID 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](/docs/cms/reference/fields/module-theme-fields#blog).                                                                                                  |
| `tag_slug`         | Chaîne                  | Indique 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.                                                                                |
| `limit`            | Entier                  | Indique le nombre d'articles à ajouter à la séquence. Ce paramètre est obligatoire lors de l'inclusion d'un paramètre `logical_operator`.                                                                                                                                                                              |
| `logical_operator` | Chaîne                  | Lorsque `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.

<CodeGroup>
  ```html example.html theme={null}
  <a href="https://developers.hubspot.fr/docs{{ blog_tag_url("default", "inbound-marketing") }}">Inbound Marketing</a>
  ```

  ```html example.html theme={null}
  <a href="http://blog.hubspot.com/marketing/tag/inbound-marketing"
  >Inbound Marketing</a
  >
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                 |
| --------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID 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_slug`      | Chaîne                  | Indique 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.

<Warning>
  **Remarque :** cette fonction est limitée à 250 balises.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {{ 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>
  ```

  ```html example.html theme={null}
  [ Blogging, Inbound Marketing, SEO, Social Media]

  <ul>
  <li><a href="http://blog.hubspot.com/marketing/tag/blogging"></a></li></li>
  <li><a href="http://blog.hubspot.com/marketing/tag/inbound-marketing">Inbound Marketing</a></li></li>
  <li><a href="http://blog.hubspot.com/marketing/tag/seo">SEO</a></li>
  <li><a href="http://blog.hubspot.com/marketing/tag/social-media">Social Media</a></li></li>
  </ul>
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                                           |
| --------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID du blog ou "default" | Indique le blog à utiliser. L'ID du blog est renvoyé selon le [champ blog du module](/docs/cms/reference/fields/module-theme-fields#blog). |
| `limit`         | Entier                  | Le 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.

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ blog_total_post_count }}
  {{ blog_total_post_count(359485112) }}
  ```

  ```text sortie rendue.txt theme={null}
  16 54
  ```
</CodeGroup>

| Paramètre       | Type                    | Description                                                                                                                                |
| --------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `selected_blog` | ID du blog ou "default" | Indique le blog à comptabiliser. L'ID du blog est renvoyé selon le [champ blog du module](/docs/cms/reference/fields/module-theme-fields#blog). |

## clear

Supprime tous les éléments d'une liste. Contrairement à `pop()`, il ne renvoie rien.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set words = ["phone","home"] %}
  {% do words.clear() %}
  {{words}}
  ```

  ```text sortie rendue.txt theme={null}
  []
  ```
</CodeGroup>

## color\_contrast

Cette fonction valide le contraste des couleurs en fonction des [normes WCAG](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum). 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{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>
  ```

  ```text sortie rendue.txt theme={null}
  true false Hey there
  ```
</CodeGroup>

| Paramètre | Type    | Description                                                                                                                                                                                                                                                                                                                                   |
| --------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `color_1` | Couleur | La première couleur à comparer. Accepte :<ul><li>les codes hexadécimaux à 6 chiffres (`#FFFFFF`)</li><li>les codes hexadécimaux à 3 chiffres (`#F0A`)</li><li>les codes couleur RVB (`rgb(12,31,1)`)</li></ul>Peut également utiliser une variable qui stocke un code de couleur hexadécimal ou RVB. Par exemple :`theme.primary_color.color` |
| `color_2` | Couleur | La deuxième couleur à comparer à la première.                                                                                                                                                                                                                                                                                                 |
| `rating`  | Chaîne  | La 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).

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set base_color ="#3A539B" %}
  {{ color_variant(base_color, -80) }}
  ```

  ```text sortie rendue.txt theme={null}
  #00034b
  ```
</CodeGroup>

| Paramètre           | Type                   | Description                                                                          |
| ------------------- | ---------------------- | ------------------------------------------------------------------------------------ |
| `base_color`        | Chaîne de couleurs hex | La couleur de départ à modifier. Par exemple : `#F7F7F7`.                            |
| `brightness_offset` | Entier                 | Un 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.

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {% 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>
  ```

  ```html example.html theme={null}
  <ul>
  <li>
  <a
  href="http://www.hubspot.com/blog/articles/kcs_article/email/how-do-i-create-default-values-for-my-email-personalization-tokens"
  >How do I create default values for my email or smart content
  personalization tokens?</a
  >
  </li>
  </ul>
  ```
</CodeGroup>

| Paramètre | Type | Description                   |
| --------- | ---- | ----------------------------- |
| `id`      | ID   | L'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.

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {% 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>
  ```

  ```html example.html theme={null}
  <ul>
  <li>
  <a
  href="http://www.hubspot.com/blog/articles/kcs_article/email/how-do-i-create-default-values-for-my-email-personalization-tokens"
  >How do I create default values for my email or smart content
  personalization tokens?</a
  >
  </li>
  <li>
  <a
  href="https://blog.hubspot.com/marketing/content-marketing-strategy-guide"
  >Content Marketing Strategy: A Comprehensive Guide for Modern Marketers</a
  >
  </li>
  </ul>
  ```
</CodeGroup>

| Paramètre | Type  | Description                                                                                                      |
| --------- | ----- | ---------------------------------------------------------------------------------------------------------------- |
| `ids`     | Liste | Une 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set a = ["ham"] %}
  {% set b = a.copy() %}
  a: {{a}}

  b: {{b}}

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

  b: {{b}}
  ```

  ```text sortie rendue.txt theme={null}
  a: [ham] b: [ham] After Append a: [ham, swiss] b: [ham]
  ```
</CodeGroup>

## count

Renvoie le nombre de fois qu'une variable existe dans une liste.

<CodeGroup>
  ```html example.html theme={null}
  {% 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.
  ```

  ```html example.html theme={null}
  There are 1 Jon's in the list.
  <p>After append:</p>

  There are now 2 Jon's in the list.
  ```
</CodeGroup>

## 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

<Warning>
  **Remarque :** pour des raisons de sécurité, parmi les [types d'objets standards de HubSpot](https://knowledge.hubspot.com/fr/get-started/manage-your-crm-database#standard-objects), 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](https://knowledge.hubspot.com/fr/website-pages/password-protect-a-page) ou qui nécessite une [connexion au contrôle d'accès CMS](https://knowledge.hubspot.com/fr/website-pages/require-member-registration-to-access-private-content). Les objets personnalisés n'ont pas cette même restriction.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set associated_contacts = crm_associations(847943847, "HUBSPOT_DEFINED", 2, "limit=3&years_at_company__gt=2&orderBy=email", "firstname,email", false) %}
  {{ associated_contacts }}
  ```

  ```text sortie rendue.txt theme={null}
  {has_more=true, offset=3, total=203, results=[{firstname=Aimee, id=905,
  email=abanks@company.com}, {firstname=Amy, id=1056, email=abroma@company.com},
  {firstname=Abigael, id=957, email=adonahu@company.com}]}
  ```
</CodeGroup>

<Warning>
  **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.
</Warning>

| Paramètre              | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ---------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                   | ID      | de l'enregistrement à partir duquel les associations doivent être trouvées.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `association category` | Chaîne  | La 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 id`  | Entier  | L'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](https://developers.hubspot.fr/docs/guides/api/crm/associations). Sinon, cet ID d'association peut être trouvé dans [l'API de schéma d'objets CRM](/docs/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details).                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `query`                | Chaîne  | 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 :<ul><li>`eq` (par défaut), </li><li>`neq`</li><li>`lt`</li><li>`lte`</li><li>`gt`</li><li>`gte`</li><li>`is_null`</li><li>`not_null`</li><li>`in`</li><li>`nin`</li><li>`contains` (pour les propriétés à plusieurs valeurs ou de chaîne, comme *"firstname\_\_contains=Tim"*)</li></ul>Les requêtes peuvent inclure les paramètres suivants :<ul><li>`limit` : le nombre maximum de résultats renvoyés dans la réponse. Par exemple, `limit=50`.</li><li>`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`.</li><li>`orderBy` : classer les résultats selon une propriété spécifique. Par exemple : `orderBy=email`.</li></ul> |
| `properties`           | Chaîne  | Facultative. 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](https://developers.hubspot.fr/docs/reference/api/crm/properties/v1-contacts#get-all-contact-properties) et [obtenir toutes les propriétés de l'entreprise](https://developers.hubspot.fr/docs/reference/api/crm/properties/v1-companies#get-all-company-properties).                                                                                                                                                                                                                                                                          |
| `formatting`           | Booléen | Facultatif. 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](/docs/cms/start-building/features/data-driven-content/crm-objects).

<Warning>
  **Remarque :** pour des raisons de sécurité, parmi les [types d'objets standards de HubSpot](https://knowledge.hubspot.com/fr/get-started/manage-your-crm-database#standard-objects), 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](https://knowledge.hubspot.com/fr/website-pages/password-protect-a-page) ou qui nécessite une [connexion au contrôle d'accès CMS](https://knowledge.hubspot.com/fr/website-pages/require-member-registration-to-access-private-content). Les objets personnalisés n'ont pas cette même restriction.
</Warning>

<Tip>
  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.
</Tip>

<CodeGroup>
  ```text hubl.txt theme={null}
  <!-- 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 }}
  ```

  ```text sortie rendue.txt theme={null}
  Brian Halligan
  ```
</CodeGroup>

<Warning>
  **Remarque :** cette fonction ne peut être appelée qu'au maximum 10 fois par page.
</Warning>

| Paramètre     | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type` | Chaîne  | Le nom du type d'objet. Les noms des types d'objets tiennent compte de la casse.[Les types d'objets pris en charge](/docs/cms/start-building/features/data-driven-content/crm-objects#supported-crm-object-types). 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](/docs/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) 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é](/docs/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) (FQN). |
| `query`       | Chaîne  | Facultative. 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 :<ul><li>`eq` (par défaut)</li><li>`neq`</li><li>`lt`</li><li>`lte`</li><li>`gt`</li><li>`gte`</li><li>`is_null`</li><li>`not_null`</li><li>`in`</li><li>`nin`</li><li>`contains`, (pour les propriétés à plusieurs valeurs ou de chaîne, comme *"firstname\_\_contains=Tim"*)</li></ul>Les requêtes peuvent inclure les paramètres suivants :<ul><li>`limit` : le nombre maximum de résultats renvoyés dans la réponse. Par exemple, `limit=50`.</li><li>`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`.</li><li>`orderBy` : classer les résultats selon une propriété spécifique. Par exemple : `orderBy=email`.</li></ul>                                          |
| `properties`  | Chaîne  | Facultative. 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](https://developers.hubspot.fr/docs/reference/api/crm/properties/v1-contacts#get-all-contact-properties) et [obtenir toutes les propriétés de l'entreprise](https://developers.hubspot.fr/docs/reference/api/crm/properties/v1-companies#get-all-company-properties).                                                                                                                                                                                                                                                                                                                               |
| `formatting`  | Booléen | Facultatif. 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.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

<Warning>
  **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=`).
</Warning>

## 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](/docs/cms/start-building/features/data-driven-content/crm-objects).

<Warning>
  **Remarque :** pour des raisons de sécurité, parmi les [types d'objets standards de HubSpot](https://knowledge.hubspot.com/fr/get-started/manage-your-crm-database#standard-objects), 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](https://knowledge.hubspot.com/fr/website-pages/password-protect-a-page) ou qui nécessite une [connexion au contrôle d'accès CMS](https://knowledge.hubspot.com/fr/website-pages/require-member-registration-to-access-private-content). Les objets personnalisés n'ont pas cette même restriction.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set objects = crm_objects("contact", "firstname__not_null=&limit=3", "firstname,lastname") %}
  {{ objects }}
  ```

  ```text sortie rendue.txt theme={null}
  {has_more=true, offset=3, total=331, results=[{firstname=Brian, id=44151,
  lastname=Halligan}, {firstname=Dharmesh, id=44051, lastname=Shah},
  {firstname=George, id=88551, lastname=Washington}]}
  ```
</CodeGroup>

<Warning>
  **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.
</Warning>

| Paramètre     | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type` | Chaîne  | Le 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](/docs/cms/start-building/features/data-driven-content/crm-objects#supported-crm-object-types). 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](/docs/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) 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é](/docs/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) (FQN). |
| `query`       | Chaîne  | Facultative. 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 :<ul><li>`eq` (par défaut)</li><li>`neq`</li><li>`lt`</li><li>`lte`</li><li>`gt`</li><li>`gte`</li><li>`is_null`</li><li>`not_null`</li><li>`in`</li><li>`nin`</li><li>`contains`, (pour les propriétés à plusieurs valeurs ou de chaîne, comme *"firstname\_\_contains=Tim"*)</li></ul>Exemple : `"email=contact@company.com"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `properties`  | Chaîne  | Facultative. 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](https://developers.hubspot.fr/docs/reference/api/crm/properties/v1-contacts#get-all-contact-properties) et [obtenir toutes les propriétés de l'entreprise](https://developers.hubspot.fr/docs/reference/api/crm/properties/v1-companies#get-all-company-properties). 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.                                                                                                                                                                                                     |
| `formatting`  | Booléen | Facultatif. 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.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

<Warning>
  **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=`).
</Warning>

## 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.

<Tabs>
  <Tab title="HubL">
    ```hubl theme={null}
    {{ crm_property_definition("house_listing", "agent_name") }}
    ```
  </Tab>
</Tabs>

| Paramètre       | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type`   | Chaîne | Le nom du type d'objet. Les noms des types d'objets tiennent compte de la casse. [Les types d'objets pris en charge](/docs/cms/start-building/features/data-driven-content/crm-objects#supported-crm-object-types). 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](/docs/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) 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é](/docs/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) (FQN). |
| `property_name` | Chaîne | Le 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.

<Tabs>
  <Tab title="HubL">
    ```hubl theme={null}
    {{ crm_property_definitions("house_listing", "agent_name,address") }}
    ```
  </Tab>
</Tabs>

| Paramètre       | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| --------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type`   | Chaîne | Le nom du type d'objet. Les noms des types d'objets tiennent compte de la casse. [Les types d'objets pris en charge](/docs/cms/start-building/features/data-driven-content/crm-objects#supported-crm-object-types). 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](/docs/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) 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é](/docs/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) (FQN). |
| `property_name` | Chaîne | Facultative. 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.

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ cta("ccd39b7c-ae18-4c4e-98ee-547069bfbc5b")  }}
  {{ cta("ccd39b7c-ae18-4c4e-98ee-547069bfbc5b", "justifycenter") }}
  ```

  ```html example.html theme={null}
  <span
  class="hs-cta-wrapper"
  id="hs-cta-wrapper-ccd39b7c-ae18-4c4e-98ee-547069bfbc5b"
  >
  <span
  class="hs-cta-node hs-cta-ccd39b7c-ae18-4c4e-98ee-547069bfbc5b"
  id="hs-cta-ccd39b7c-ae18-4c4e-98ee-547069bfbc5b"
  style="visibility: visible;"
  >
  <a
  id="cta_button_158015_19a9097a-8dff-4181-b8f7-955a47f29826"
  class="cta_button "
  href="//cta-service-cms2.hubspot.com/ctas/v2/public/cs/c/?cta_guid=19a9097a-8dff-4181-b8f7-955a47f29826&placement_guid=ccd39b7c-ae18-4c4e-98ee-547069bfbc5b&portal_id=158015&redirect_url=APefjpH34lXcq1H4FhyHhE3DNeHPNigbBluiv6t07-N80GLkyj2Dn9PizhW8bo4ecrS47RmyslLg7QQKWLG7n2oNkvrumL9dWUjMMEjVYvStZ-IMyulMBvdU8AddI6nFXL0G_VPP_VXmnFi66RKPPjPvx6kbyPO6k566noP4CTZMyADHkGsGBf4S95YdTNtTTFabShT62cVAiV_oWlXbpfPWQc4G3IvkoDoAhmpQVW-ggUcKa4Ft_5A&hsutk=683eeb5b499fdfdf469646f0014603b4&utm_referrer=http%3A%2F%2Fwww.davidjosephhunt.com%2F%3Fhs_preview%3DNVkCLfFf-2857453560&canon=http%3A%2F%2Fwww.davidjosephhunt.com%2F-temporary-slug-63bb220d-eda6-44d0-9738-af928e787237"
  style=""
  cta_dest_link="http://www.hubspot.com/free-trial"
  title="Start a HubSpot trial"
  >
  Start a HubSpot trial
  </a>
  </span>
  <script charset="utf-8" src="//js.hscta.net/cta/current.js"></script>
  <script type="text/javascript">
  hbspt.cta.load(158015, 'ccd39b7c-ae18-4c4e-98ee-547069bfbc5b');
  </script>
  </span>
  <span
  class="hs-cta-wrapper"
  id="hs-cta-wrapper-ccd39b7c-ae18-4c4e-98ee-547069bfbc5b"
  >
  <span
  class="hs-cta-node hs-cta-ccd39b7c-ae18-4c4e-98ee-547069bfbc5b"
  id="hs-cta-ccd39b7c-ae18-4c4e-98ee-547069bfbc5b"
  style="display: block; text-align: center; visibility: visible;"
  >
  <a
  id="cta_button_158015_19a9097a-8dff-4181-b8f7-955a47f29826"
  class="cta_button "
  href="//cta-service-cms2.hubspot.com/ctas/v2/public/cs/c/?cta_guid=19a9097a-8dff-4181-b8f7-955a47f29826&placement_guid=ccd39b7c-ae18-4c4e-98ee-547069bfbc5b&portal_id=158015&redirect_url=APefjpH34lXcq1H4FhyHhE3DNeHPNigbBluiv6t07-N80GLkyj2Dn9PizhW8bo4ecrS47RmyslLg7QQKWLG7n2oNkvrumL9dWUjMMEjVYvStZ-IMyulMBvdU8AddI6nFXL0G_VPP_VXmnFi66RKPPjPvx6kbyPO6k566noP4CTZMyADHkGsGBf4S95YdTNtTTFabShT62cVAiV_oWlXbpfPWQc4G3IvkoDoAhmpQVW-ggUcKa4Ft_5A&hsutk=683eeb5b499fdfdf469646f0014603b4&utm_referrer=http%3A%2F%2Fwww.davidjosephhunt.com%2F%3Fhs_preview%3DNVkCLfFf-2857453560&canon=http%3A%2F%2Fwww.davidjosephhunt.com%2F-temporary-slug-63bb220d-eda6-44d0-9738-af928e787237"
  style=""
  cta_dest_link="http://www.hubspot.com/free-trial"
  title="Start a HubSpot trial"
  >
  Start a HubSpot trial
  </a>
  </span>
  <script charset="utf-8" src="//js.hscta.net/cta/current.js"></script>
  <script type="text/javascript">
  hbspt.cta.load(158015, 'ccd39b7c-ae18-4c4e-98ee-547069bfbc5b');
  </script>
  </span>
  ```
</CodeGroup>

| Paramètre   | Type        | Description                                                                                                          |
| ----------- | ----------- | -------------------------------------------------------------------------------------------------------------------- |
| `guid`      | Chaîne      | L'ID du CTA à rendre. Se trouve dans l'URL de l'écran de détails du CTA.                                             |
| `align_opt` | Énumération | Ajuste 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set vehicles = ["boat","car","bicycle"] %}
  {% set more_vehicles = ["airplane","motorcycle"] %}
  {% do vehicles.extend(more_vehicles) %}
  {{vehicles}}
  ```

  ```text sortie rendue.txt theme={null}
  [boat, car, bicycle, airplane, motorcycle]
  ```
</CodeGroup>

## 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](#files_by_ids).

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set file = file_by_id(123) %}
  {{ file.friendlyUrl }}
  ```

  ```text sortie rendue.txt theme={null}
  https://www.hubspot.com/hubfs/HubSpot_Logos/HSLogo_color.svg
  ```
</CodeGroup>

| Paramètre | Type   | Description                   |
| --------- | ------ | ----------------------------- |
| `file_id` | Nombre | L'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.

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page et peut accepter jusqu'à 100 ID de fichier.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set files = files_by_ids([123,456])%}
  {% for file in files %}
  URL:{{file.friendlyUrl}}
  <br>
  {% endfor %}
  ```

  ```text sortie rendue.txt theme={null}
  URL:https://api-na1.hubspot.com/filemanager/api/v2/files/123/example-file-1
  URL:https://api-na1.hubspot.com/filemanager/api/v2/files/456/example-file-2
  ```
</CodeGroup>

| Paramètre | Type   | Description                                                               |
| --------- | ------ | ------------------------------------------------------------------------- |
| `file_id` | Nombre | Les 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é](/docs/cms/reference/hubl/filters#split), car la propriété CRM sera renvoyée sous la forme d'une chaîne séparée par un point-virgule.

```hubl theme={null}
{% 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](https://knowledge.hubspot.com/fr/blog/use-self-registration-for-private-blog-content), 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](/docs/cms/start-building/features/memberships/overview#private-blog-posts-with-self-registration).

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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% for content in contents %}
  <article {{ flag_content_for_access_check(content.id) }} >
  ...
  </article>
  {% endfor %}
  ```

  ```text sortie rendue.txt theme={null}
  <article hs-member-content-access="true">...</article>
  ```
</CodeGroup>

| Paramètre | Type | Description                                                                     |
| --------- | ---- | ------------------------------------------------------------------------------- |
| `ID`      | ID   | L'ID du contenu qui sera vérifié par rapport au visiteur actuellement connecté. |

## follow\_me\_links

Renvoie les [liens de compte de réseau social définis dans les paramètres du compte](https://knowledge.hubspot.com/fr/design-manager/use-default-modules-in-your-template#add-social-accounts-to-the-follow-me-module). Utilisé dans le [module follow\_me par défaut](/docs/cms/reference/modules/default-modules#follow-me).

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set fm = follow_me_links() %}
  {{ fm }}
  ```

  ```text sortie rendue.txt theme={null}
  [FollowMeLink{type=URL, id=5142734, altName=RSS,
  followMeUrl=http://website.com/rss.xml, iconName=rss,
  name=http://website.com/rss.xml}]
  ```
</CodeGroup>

## format\_address

Formate une adresse en fonction des paramètres régionaux du contexte.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ format_address('en-us', { address: "25 First Street", address2: "2nd Floor", city: "Cambridge", state: "MA", country: "United States", zip: "02141"}) }}
  ```

  ```text sortie rendue.txt theme={null}
  [25 First Street, 2nd Floor, Cambridge, MA 02141, United States]
  ```
</CodeGroup>

| Paramètre  | Type   | Description                                                               |
| ---------- | ------ | ------------------------------------------------------------------------- |
| `locale`   | Chaîne | Les paramètres régionaux selon lesquels formater l'adresse.               |
| `address`  | Chaîne | L'adresse postale.                                                        |
| `address2` | Chaîne | La deuxième ligne de l'adresse, comme le numéro d'étage ou d'appartement. |
| `city`     | Chaîne | La ville de l'adresse.                                                    |
| `state`    | Chaîne | L'état de l'adresse.                                                      |
| `country`  | Chaîne | Le pays de l'adresse.                                                     |
| `zip`      | Chaîne | Le code postal de l'adresse.                                              |

## format\_company\_name

Formate le nom d'une entreprise en ajoutant des titres honorifiques japonais, le cas échéant.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ format_company_name("companyName", addJapaneseHonorifics) }}
  ```

  ```text sortie rendue.txt theme={null}
  HubSpot
  ```
</CodeGroup>

| Paramètre                  | Type    | Description                                                                                                                                                     |
| -------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `companyName`              | Chaîne  | Le nom de l'entreprise.                                                                                                                                         |
| `useHonorificIfApplicable` | Booléen | Lorsque 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ format_name("firstName", "surname", addJapaneseHonorifics) }}
  ```

  ```text sortie rendue.txt theme={null}
  Hobbes Baron
  ```
</CodeGroup>

| Paramètre                  | Type        | Description                                                                                                                                        | Par défaut |
| -------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| `firstName`                | Obligatoire | Le prénom de la personne.                                                                                                                          |            |
| `surname`                  | Chaîne      | Le nom ou prénom de la personne.                                                                                                                   | `False`    |
| `useHonorificIfApplicable` | Booléen     | Lorsque 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](/docs/cms/reference/hubl/filters#format_datetime). Cette fonction remplace la fonction obsolète `datetimeformat`.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ format_datetime(content.publish_date, "short", "America/New_York", "en") }}
  ```

  ```text sortie rendue.txt theme={null}
  12/31/69 7:00 PM
  ```
</CodeGroup>

| Paramètre  | Type   | Description                                                                                                                                                                                                                                                            |
| ---------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format`   | Chaîne | Le format à utiliser. Peut être l'un des éléments suivants :<ul><li>`short`</li><li>`medium`</li><li>`long`</li><li>`full`</li><li>un modèle personnalisé reposant sur [Unicode LDML](https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns)</li></ul> |
| `timeZone` | Chaîne | Le fuseau horaire de la date de sortie au format [IANA TZDB](https://data.iana.org/time-zones/tzdb/).                                                                                                                                                                  |
| `locale`   | Chaîne | Les 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.

<CodeGroup>
  ```html example.html theme={null}
  {% for row in hubdb_table_rows(1234567, "geo_distance(loc,1.233,-5.678,mi)__gt=500") %}
  {{row.name}} <br>
  {% endfor %}
  ```

  ```html example.html theme={null}
  Cambridge, MA<br />
  Salem, MA<br />
  San Diego, CA<br />
  Chicago, IL<br />
  ```
</CodeGroup>

| Paramètre     | Type        | Description                                                                                                                  |
| ------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `point1`      | Emplacement | Emplacement à partir d'une colonne HubDB.                                                                                    |
| `point2_lat`  | Latitude    | Latitude du point2.                                                                                                          |
| `point2_long` | Longitude   | Longitude du point2.                                                                                                         |
| `units`       | Chaîne      | Unité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>`.

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/53/Designers_Docs_2015/copy-public-url-4.gif" alt="copie-public-url" />
</Frame>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ get_asset_url("/custom/styles/style.css") }}
  ```

  ```text sortie rendue.txt theme={null}
  //cdn2.hubspot.net/hub/1234567/hub_generated/template_assets/1565970767575/custom/styles/style.min.css
  ```
</CodeGroup>

| Paramètre | Type   | Description                                                                              |
| --------- | ------ | ---------------------------------------------------------------------------------------- |
| `path`    | Chaîne | Le 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ get_public_template_url_by_id("2778457004")  }}
  ```

  ```text sortie rendue.txt theme={null}
  //cdn2.hubspot.net/hub/327485/hub_generated/style_manager/1431479563436/custom/page/Designers_2015/designer-doc-2105.min.js
  ```
</CodeGroup>

| Paramètre     | Type | Description                          |
| ------------- | ---- | ------------------------------------ |
| `template_id` | ID   | Le numéro d'ID du modèle de fichier. |

## hubdb\_table

[HubDB](/docs/cms/start-building/features/data-driven-content/crm-objects#hubdb-dynamic-pages) 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set table_info = hubdb_table(1548215) %}
  {{ table_info.row_count }}
  ```

  ```text sortie rendue.txt theme={null}
  25
  ```
</CodeGroup>

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

| Paramètre  | Type   | Description           |
| ---------- | ------ | --------------------- |
| `table_id` | Chaîne | ID ou nom du tableau. |

## hubdb\_table\_column

[HubDB](/docs/cms/start-building/features/data-driven-content/crm-objects#hubdb-dynamic-pages) 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.

<Info>
  Les noms des colonnes ne tiennent pas compte de la casse. Par exemple, `HS_ID` et `hs_id` sont tous deux valides.
</Info>

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set column_info = hubdb_table_column(123456, 6)  %}
  {{ column_info.label }}
  ```

  ```text sortie rendue.txt theme={null}
  role
  ```
</CodeGroup>

| Paramètre  | Type   | Description              |
| ---------- | ------ | ------------------------ |
| `table_id` | Chaîne | ID ou nom du tableau.    |
| `column`   | Chaîne | ID ou nom de la colonne. |

## hubdb\_table\_row

[HubDB](/docs/cms/start-building/features/data-driven-content/crm-objects#hubdb-dynamic-pages) 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.

<Info>
  Les noms des colonnes ne tiennent pas compte de la casse. Par exemple, `HS_ID` et `hs_id` sont tous deux valides.
</Info>

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set row = hubdb_table_row(1548264, 6726439331)  %}
  {{ row.role  }}
  ```

  ```text sortie rendue.txt theme={null}
  CTO
  ```
</CodeGroup>

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

| Paramètre  | Type   | Description                |
| ---------- | ------ | -------------------------- |
| `table_id` | Chaîne | ID ou nom du tableau.      |
| `row_id`   | Entier | ID de la ligne du tableau. |

## hubdb\_table\_rows

[HubDB](/docs/cms/start-building/features/data-driven-content/crm-objects#hubdb-dynamic-pages) 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.

<Warning>
  **Remarque :** si vous utilisez un [filtre aléatoire](/docs/cms/reference/hubl/filters#random) sur cette fonction, la page sera [pré-rendue](/docs/cms/best-practices/testing-staging-performance/prerendering) périodiquement. Cela signifie que le contenu filtré ne sera pas mis à jour à chaque rechargement de page.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {% 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 %}
  ```

  ```text sortie rendue.txt theme={null}
  the value for row 6726439331 is Brian Halligan the value for row 8438997836 is
  Dharmesh Shah
  ```
</CodeGroup>

| Paramètre  | Type   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ---------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `table_id` | Chaîne | ID ou nom du tableau à questionner.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `query`    | Chaîne | Une 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](/docs/api-reference/cms-hubdb-v3/guide#filter-returned-rows) 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 :<ul><li>`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.</li><li>`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)</li><li>`random()` : renvoie les lignes dans un ordre aléatoire.</li></ul>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. |

<Warning>
  **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=`).
</Warning>

## include\_default\_custom\_css

Cette fonction génère une balise de lien qui fait référence au [Fichier CSS principal](https://knowledge.hubspot.com/fr/design-manager/create-edit-and-attach-css-files-to-style-your-site) (`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`.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ include_default_custom_css(True) }}
  ```

  ```html example.html theme={null}
  <link
  href="https://developers.hubspot.fr/docs//cdn2.hubspot.net/hub/327485/hub_generated/style_manager/1420345777097/custom/styles/default/hs_default_custom_style.min.css"
  rel="stylesheet"
  />
  ```
</CodeGroup>

## 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`.

<CodeGroup>
  ```html example.html theme={null}
  {% 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)}}
  ```

  ```html example.html theme={null}
  triangle index: 0<br />
  trapezoid index: 2
  <hr />
  adjusted start and end<br />
  triangle index: 3
  ```
</CodeGroup>

## 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set even_numbers = [2,4,8,10]  %}
  {% do even_numbers.insert(2,6) %}
  {{even_numbers}}
  ```

  ```text sortie rendue.txt theme={null}
  [2, 4, 6, 8, 10]
  ```
</CodeGroup>

## 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ locale_name("es") }}
  {{ locale_name("es", "en") }}
  ```

  ```text sortie rendue.txt theme={null}
  Español Spanish
  ```
</CodeGroup>

| Paramètre              | Type   | Description                                      |
| ---------------------- | ------ | ------------------------------------------------ |
| `language_code`        | Chaîne | Le code de la langue.                            |
| `target_language_code` | Chaîne | La 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](/docs/cms/start-building/features/multi-language-content#include-field-translations-in-custom-modules-and-themes).

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set template_translations = load_translations('../_locales', 'fr', 'en') %}
  {{ partial_footer_address }}
  ```

  ```text sortie rendue.txt theme={null}
  123 Rue du Pont, Ville, Région, 12300
  ```
</CodeGroup>

| Paramètre                | Type   | Description                                                        |
| ------------------------ | ------ | ------------------------------------------------------------------ |
| `path`                   | Chaîne | Le chemin d'accès au répertoire \_locales des traductions.         |
| `language_code`          | Chaîne | Le code de la langue.                                              |
| `language_code_fallback` | Chaîne | Le code de langue de secours si `language_code` n'est pas présent. |

## menu

Renvoie la structure des liens imbriqués d'un menu avancé. Les nœuds de menu ont une variété de [propriétés](/docs/cms/reference/hubl/variables#menu-node-variables) 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`.

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {% 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 %}
  ```

  ```html example.html theme={null}
  page1<br />
  page2<br />
  page3<br />
  ```
</CodeGroup>

<Tip>
  Lorsque vous utilisez la fonction `menu()` pour générer un menu, [vous êtes entièrement responsable de l'accessibilité de votre menu.](/docs/cms/best-practices/improve-existing-sites/accessibility)
</Tip>

| Paramètre   | Type        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ----------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `menu_id`   | ID          | Obligatoire. L'id du menu transmis sous forme de nombre.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `root_type` | Énumération | Type de racine du menu (`"site_root"`, `"top_parent"`, `"parent"`, `"page_name"`, `"page_id"`, `"breadcrumb"`).<ul><li>`"site_root"` statique - Affiche toujours les pages d'accueil dans le menu.</li><li>`"top_parent"` dynamique par rubrique - Affiche les pages du menu relatives à la section consultée.</li><li>`"parent"` dynamique par page - Afficher les pages du menu relatives à la page consultée.</li><li>`"breadcrumb"` menu déroulant de style fil d'Ariane (utilise le flux horizontal).</li></ul> |
| `root_key`  | Chaîne      | Clé 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**.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ module_asset_url("smile.jpg") }}
  ```

  ```text sortie rendue.txt theme={null}
  https://cdn2.hubspot.net/hubfs/6178146/logo-black-color.png
  ```
</CodeGroup>

| Paramètre | Type   | Description             |
| --------- | ------ | ----------------------- |
| `name`    | Chaîne | Le 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set ns = namespace({"name": "item name", "price":"100"}, b=false) %}
  {{ns.name}}, {{ns.b}}
  ```

  ```text sortie rendue.txt theme={null}
  item name, false
  ```
</CodeGroup>

| Paramètre    | Type   | Description                                                               |
| ------------ | ------ | ------------------------------------------------------------------------- |
| `dictionary` | Map    | Le dictionnaire avec lequel initialiser.                                  |
| `kwargs`     | Chaîne | Arguments 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ oembed({ url: "https://www.youtube.com/watch?v=KqpFNtbEOh8"}) }}
  ```

  ```text sortie rendue.txt theme={null}
  OEmbedResponse{type=video, version=1.0, html=<iframe
  width="480"
  height="270"
  src="https://www.youtube.com/embed/KqpFNtbEOh8?feature=oembed"
  frameborder="0"
  allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
  allowfullscreen
  ></iframe
  >, title=Marketing Is a Marathon — Build a Complete Customer Experience,
  authorName=HubSpot, authorUrl=https://www.youtube.com/user/HubSpot,
  providerName=YouTube, providerUrl=https://www.youtube.com/,
  thumbnailUrl=https://i.ytimg.com/vi/KqpFNtbEOh8/hqdefault.jpg,
  thumbnailWidth=480, thumbnailHeight=360}
  ```
</CodeGroup>

| Paramètre | Type   | Description                                                              |
| --------- | ------ | ------------------------------------------------------------------------ |
| `request` | Chaîne | Objet 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  Hi {{ personalization_token("contact.firstname", "there") }}!
  ```

  ```text sortie rendue.txt theme={null}
  <!-- If the contact is known -->
  Hi Dharmesh!

  <!-- If the contact is unknown -->
  Hi there!
  ```
</CodeGroup>

| Paramètre    | Type   | Description                                                                      |
| ------------ | ------ | -------------------------------------------------------------------------------- |
| `expression` | Chaîne | Une expression pour l'objet et la propriété à rendre.                            |
| `default`    | Chaîne | Facultative. 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é.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set even_numbers = [2,3,4,6,8,9,10]  %}
  {% do even_numbers.pop(1) %}
  {{even_numbers.pop(4)}}
  {{even_numbers}}
  ```

  ```text sortie rendue.txt theme={null}
  9 [2, 4, 6, 8, 10]
  ```
</CodeGroup>

## 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).

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ postal_location("02139") }}
  {% set location = postal_location("02139", "US") %}
  {{ location.latitude }}
  {{ location.longitude }}
  ```

  ```text sortie rendue.txt theme={null}
  LatLon{latitude=42.3647, longitude=-71.1042} 42.3647 -71.1042
  ```
</CodeGroup>

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

| Paramètre      | Type   | Description                                                                                  |
| -------------- | ------ | -------------------------------------------------------------------------------------------- |
| `postal_code`  | Chaîne | Code postal de l'emplacement.                                                                |
| `country_code` | Chaîne | Code 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](#update), 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set dict_var = {"authorName": "Tim Robinson"} %}
  {% set key = "key" %}
  {% set value = "value" %}
  {% do dict_var.put(key, value) %}
  {{ dict_var }}
  ```

  ```text sortie rendue.txt theme={null}
  {authorName=Tim Robinson, key=value}
  ```
</CodeGroup>

## 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](/docs/cms/reference/hubl/loops) pour indiquer le nombre d'itérations à exécuter.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ range(11) }}
  {{ range(5, 11) }}
  {{ range(0, 11, 2) }}

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

  ```text sortie rendue.txt theme={null}
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [5, 6, 7, 8, 9, 10] [0, 2, 4, 6, 8, 10] 0 1 2
  3 4 5 6 7 8 9 10
  ```
</CodeGroup>

## 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](https://web.dev/articles/defer-non-critical-css#optimize) et tout autre couple clé-valeur sera ajoutée comme attribut HTML à la balise de style.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ 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 }) }}
  ```

  ```html example.html theme={null}
  <!-- other standard header html -->
  <link
  type="text/css"
  rel="stylesheet"
  href="http://example.com/path/to/file.css"
  />
  <link
  type="text/css"
  rel="stylesheet"
  href="http://example.com/relative/path/to/file.css"
  />

  <!-- you can tell the browser to load the file asynchronously -->
  <link
  rel="preload"
  href="https://developers.hubspot.fr/docs//cdn2.hubspot.net/hub/6333443/hub_generated/template_assets/39079350918/1608661506628/example.css"
  as="style"
  onload="this.onload=null;this.rel='stylesheet'"
  />
  <noscript
  ><link
  rel="stylesheet"
  href="https://developers.hubspot.fr/docs//cdn2.hubspot.net/hub/6333443/hub_generated/template_assets/39079350918/1608661506628/example.css"
  /></noscript>
  <!-- more html -->
  ```
</CodeGroup>

## 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](/docs/cms/start-building/building-blocks/templates/html-hubl-templates#header-and-footer-includes).*

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`

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ 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 }}
  ```

  ```html example.html theme={null}
  <!-- other standard header html -->
  <script
  async
  defer
  src="//cdn2.hubspot.net/hub/6333443/hub_generated/template_assets/37785718838/1605816776975/jquery-latest.min.js"
  ></script>

  <script src="http://example.com/path/to/head-file.js"></script>

  <!-- more html -->

  <script src="http://example.com/path/to/footer-file.js"></script>

  <!-- you can add async or defer attributes to the tags that are added. -->
  <script
  async
  src="//cdn2.hubspot.net/hub/######/hub_generated/template_assets/#############/######/jquery-latest.min.js"
  ></script>
  <script
  defer
  src="//cdn2.hubspot.net/hub/######/hub_generated/template_assets/#############/######/jquery-latest.min.js"
  ></script>

  <!-- other standard footer html -->
  ```
</CodeGroup>

## 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.

<Warning>
  **Remarque :** les images supérieures à 4 096 pixels en hauteur ou en largeur <u>ne seront pas</u> automatiquement redimensionnées. Au lieu de cela, vous devrez [redimensionner manuellement l'image](https://knowledge.hubspot.com/fr/files/automatic-image-resizing-on-hubspot-content).
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ resize_image_url("http://your.hubspot.site/hubfs/img.jpg", 0, 0, 300) }}
  ```

  ```text sortie rendue.txt theme={null}
  http://your.hubspot.site/hubfs/img.jpg?length=300&name=img.jpg
  ```
</CodeGroup>

| Paramètre | Type        | Description                                                                                                                                                                        |
| --------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `url`     | Chaîne      | URL d'une image hébergée par HubSpot.                                                                                                                                              |
| `width`   | Entier (px) | La nouvelle largeur de l'image, en pixels.                                                                                                                                         |
| `height`  | Entier (px) | La nouvelle hauteur de l'image, en pixels.                                                                                                                                         |
| `length`  | Entier (px) | 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). La valeur par défaut est `false`. |
| `upsize`  | Booléen     | Renvoie 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`](/docs/cms/reference/hubl/filters#reverse)

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set numbers = [1,2,3,4] %}
  {% do numbers.reverse() %}
  {{numbers}}
  ```

  ```text sortie rendue.txt theme={null}
  [4, 3, 2, 1]
  ```
</CodeGroup>

## set\_response\_code

Définir le code de réponse comme le code indiqué. [404](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404) est le seul code pris en charge pour le moment. Si vous l'utilisez, votre page renverra une erreur `404`.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ set_response_code(404) }}
  ```

  ```text sortie rendue.txt theme={null}
  <!-- this will cause the page to result in a 404 error -->
  ```
</CodeGroup>

| Paramètre | Type   | Description                                                                   |
| --------- | ------ | ----------------------------------------------------------------------------- |
| `code`    | Entier | Le 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](/docs/cms/reference/hubl/overview#blocks-and-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.

<CodeGroup>
  ```html example.html theme={null}
  {% extends "custom/page/web_page_basic/parent.html" %}

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

  ```html example.html theme={null}
  <!doctype html>
  <html>
  <head>
  <meta charset="utf-8" />
  <title>This is the parent template</title>
  </head>
  <body>
  <h3>Table of contents</h3>
  Sidebar content from parent.
  </body>
  </html>
  ```
</CodeGroup>

## 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ today() }}
  {{ today("America/New_York") }}
  {{ unixtimestamp(today("America/New_York").plusDays(1)) }}
  ```

  ```text sortie rendue.txt theme={null}
  2018-10-23T00:00Z 2018-10-23T00:00-04:00[America/New_York] 1540353600000
  ```
</CodeGroup>

## 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ to_local_time(eastern_dt) }}
  ```

  ```text sortie rendue.txt theme={null}
  2015-05-13 10:37:31
  ```
</CodeGroup>

| Paramètre | Type       | Description                       |
| --------- | ---------- | --------------------------------- |
| `date`    | Horodatage | UNIX à 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.

<CodeGroup>
  ```html example.html theme={null}
  {{ 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 -%}
  ```

  ```html example.html theme={null}
  { attachedContent, topic, coreTopic, pillarPage } (AttachedContentWithContext:
  {attachedContent=AttachedContent{id=1234, topicId=1234, clusterId=1234,
  portalId=0, attachable=Attachable{contentId=124,
  url=ValidatedUri{https://www.hubspot.com/}, attachableType=LANDING_PAGE,
  title=title, publishState=PUBLISHED, deletedAt=null}, isLinkedToPillarPage=null,
  isPillarPage=null, createdAt=1547238986475, updatedAt=1547238986475,
  deletedAt=null}, coreTopic=Optional[Topic{id=1234, portalId=0, clusterId=1234,
  phrase=TOPIC PHRASE, attachedContent=null, isCoreTopic=false,
  createdAt=1547157062081, updatedAt=1547232313421, deletedAt=null}],
  pillarPage=Optional[AttachedContent{id=1234, topicId=1234, clusterId=1234,
  portalId=0, attachable=Attachable{contentId=null,
  url=ValidatedUri{https://www.hubspot.com.com/}, attachableType=EXTERNAL_URL,
  title=null, publishState=PUBLISHED, deletedAt=null}, isLinkedToPillarPage=null,
  isPillarPage=null, createdAt=1547157062086, updatedAt=1547157062086,
  deletedAt=null}], topic=Optional[Topic{id=1234, portalId=0, clusterId=8345,
  phrase=topic phrase, attachedContent=null, isCoreTopic=false,
  createdAt=1547238962703, updatedAt=1547238962703, deletedAt=null}]})

  <div>Topic: <a href="#-link-to-pillar-page-url"> core topic phrase </a></div>
  ```
</CodeGroup>

<Warning>
  **Remarque :** cette fonction est limitée à 10 appels par page.
</Warning>

| Paramètre    | Type | Description                   |
| ------------ | ---- | ----------------------------- |
| `content_id` | ID   | L'id de la page à rechercher. |

## truncate

La fonction truncate s'utilise de la même manière que le [filtre truncate](/docs/cms/reference/hubl/filters#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.

<Warning>
  **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.
</Warning>

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ 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, "...") }}
  ```

  ```text sortie rendue.txt theme={null}
  string to truncate ... Lorem ipsum dolor sit amet, consectetur ...
  ```
</CodeGroup>

| Paramètre            | Type    | Description                                                                                  |
| -------------------- | ------- | -------------------------------------------------------------------------------------------- |
| `string_to_truncate` | Chaîne  | Chaîne qui sera tronquée.                                                                    |
| `length`             | Entier  | indique la longueur à laquelle le texte doit être tronqué (y compris les caractères HTML).   |
| `killwords`          | Booléen | Si elle est vraie, la chaîne coupera le texte en longueur, même si c'est au milieu d'un mot. |
| `end`                | Chaîne  | Les 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"`.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ type("Blog") }}
  {% set my_type = type("Blog") %}
  <p>{{my_type}}</p>
  ```

  ```text sortie rendue.txt theme={null}
  <p>str</p>
  ```
</CodeGroup>

## unixtimestamp

Cette fonction renvoie un horodatage unix lorsque vous fournissez un objet datetime.

<CodeGroup>
  ```text hubl.txt theme={null}
  {{ unixtimestamp(d) }}
  ```

  ```text sortie rendue.txt theme={null}
  1565983117868
  ```
</CodeGroup>

## 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.

<CodeGroup>
  ```text hubl.txt theme={null}
  {% set dict_var = {"authorName": "Douglas Judy", "authorTitle": "Mastermind" } %}
  {% do dict_var.update({"authorFriend": "Jake"}) %}
  {% do dict_var.update({"authorLocation": "unknown"}) %}
  {{ dict_var }}
  ```

  ```text sortie rendue.txt theme={null}
  {authorName=Douglas Judy, authorTitle=Mastermind, authorFriend=Jake,
  authorLocation=unknown}
  ```
</CodeGroup>
