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

# Funciones de HubL

> Una lista de referencia de todas las funciones disponibles de HubL.

Las funciones en HubL son similares a los filtros porque los dos aceptan parámetros y generan un valor. Sin embargo, no es necesario aplicar todas las funciones al valor inicial de una plantilla, ya que estas interactúan con otras áreas de tu entorno en HubSpot.

Si mantienes un sitio web antiguo, también puedes consultar la [lista de funciones de HubL obsoletas](/cms/versions-deprecations/deprecated/hubl/filters-functions).

A continuación, encontrarás más información sobre cada función de HubL y su sintaxis.

## append

Agrega un solo elemento al final de una lista.

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

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

| Parámetro | Tipo       | Descripción                          |
| --------- | ---------- | ------------------------------------ |
| `item`    | Cualquiera | Elemento que se agregará a la lista. |

## blog\_all\_posts\_url

La función `blog_all_posts_url` da como resultado la URL completa de la página de índice de todas las publicaciones del blog especificado.

El siguiente ejemplo muestra cómo se puede utilizar esta función como la etiqueta `href` de un ancla.

<CodeGroup>
  ```html example.html theme={null}
  <a href="https://developers.hubspot.es/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>

| Parámetro       | Tipo                    | Descripción                                                                                                                                |
| --------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `selected_blog` | ID del blog o "default" | Especifica qué blog utilizar. El ID del blog se obtiene del [campo del blog en el módulo](/cms/reference/fields/module-theme-fields#blog). |

## blog\_author\_url

La función `blog_author_url` da como resultado la URL completa de la página del autor del blog especificado.

El siguiente ejemplo muestra cómo se puede utilizar esta función como la etiqueta `href` de un ancla. Que se puede combinar con `blog_authors` como se muestra en los ejemplos de esa función.

<CodeGroup>
  ```html example.html theme={null}
  <a href="https://developers.hubspot.es/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>

| Parámetro       | Tipo                            | Descripción                                                                                                                                                                                                                                                                     |
| --------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID del blog o el blog "default" | Especifica en qué blog existe la página del autor. Puedes especificar un blog por su ID o utilizar la variable `"default"` para seleccionar el blog predeterminado. El ID del blog está dado por el [campo de blog del módulo](/cms/reference/fields/module-theme-fields#blog). |
| `author_slug`   | Cadena o variable de HubL       | Especifica el autor al que se va a enlazar. Puedes utilizar la variable `content.blog_post_author.slug` o un nombre con guión en minúsculas, por ejemplo: `"jane-doe"`.                                                                                                         |

## blog\_authors

La función `blog_authors` da como resultado una secuencia de objetos con los datos del autor para el blog especificado, en orden ascendente según el slug. Esta secuencia se puede almacenar en una variable e iterarla a fin de crear filtros personalizados para las publicaciones del autor.

Se puede obtener el número de artículos publicados de cada autor usando el parámetro `author.live_posts`.

<Warning>
  **Nota:** esta función tiene un límite de 250 autores. Esta función también tiene un límite de 10 llamadas por página.
</Warning>

La primera línea del ejemplo siguiente demuestra cómo la función da como resultado una secuencia de objetos de autor. El resto del ejemplo muestra un caso en el que se guarda una secuencia en una variable y luego se itera con los objetos de autor, imprimiendo el conjunto de enlaces a las páginas de los autores. En el ejemplo se asume que el blog tiene 4 autores.

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

| Parámetro       | Tipo                    | Descripción                                                                                                                                                                                                             |
| --------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID del blog o "default" | Especifica qué blog utilizar, ya sea un blog específico por su ID o el blog predeterminado con `"default"`. El ID del blog está dado por el [campo de blog del módulo](/cms/reference/fields/module-theme-fields#blog). |
| `limit`         | Entero                  | Establece el límite del número de autores que se pueden obtener.                                                                                                                                                        |

## blog\_by\_id

La función `blog_by_id` da como resultado un blog con su ID. El siguiente código de ejemplo muestra esta función en uso, que genera una lista de elementos con los hipervínculos.

<Warning>
  **Nota:** esta función tiene un límite de 10 llamadas por página.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {% set my_blog = blog_by_id(47104297) %}
  <ul>
  <li>
  <a href="https://developers.hubspot.es/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>

| Parámetro       | Tipo                    | Descripción                                                                                                                                                                                                             |
| --------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID del blog o "default" | Especifica qué blog utilizar, ya sea un blog específico por su ID o el blog predeterminado con `"default"`. El ID del blog está dado por el [campo de blog del módulo](/cms/reference/fields/module-theme-fields#blog). |

## blog\_page\_link

La función `blog_page_link` genera la URL de una vista por páginas de la lista de blogs. La función toma un parámetro numérico, que permite generar enlaces para la página actual, la siguiente, la anterior o una página específica. Esta función se utiliza generalmente en el atributo `href` de las etiquetas de ancla de la paginación y debe ser utilizada en la plantilla del listado de blogs.

Los siguientes ejemplos muestran esta función en uso como etiqueta `href` de un ancla. El primer ejemplo muestra la página actual. El segundo ejemplo toma el número 7 como el parámetro para especificar la séptima página. El tercer ejemplo utiliza la variable `next_page_num` para generar un enlace relativo al número de página actual (también puedes utilizar la variable `last_page_num` para la página anterior). El último ejemplo utiliza la variable `current_page_num` y un operador `+` para crear un enlace que esté 4 páginas más adelante de la página actual.

<CodeGroup>
  ```html example.html theme={null}
  <a href="https://developers.hubspot.es/docs{{ blog_page_link(current_page_num) }}">Current page</a>
  <a href="https://developers.hubspot.es/docs{{ blog_page_link(7) }}">Page 7</a>
  <a href="https://developers.hubspot.es/docs{{ blog_page_link(next_page_num) }}">Next</a>
  <a href="https://developers.hubspot.es/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>

| Parámetro | Tipo                      | Descripción                                                                                |
| --------- | ------------------------- | ------------------------------------------------------------------------------------------ |
| `page`    | Número o variable de HubL | Número de página utilizado para generar la URL o la variable de HubL del número de página. |

## blog\_popular\_posts

Esta función convierte un número determinado de publicaciones populares en una secuencia. Esta secuencia se puede guardar en una variable e iterarla mediante un bucle "for", creando un listado personalizado de las publicaciones más populares.

Los resultados de esta función se almacenan en caché durante seis horas. Para obtener publicaciones de blog usando HubL de una manera que evite el almacenamiento en caché, podrías usar [blog\_recent\_tag\_posts](#blog-recent-tag-posts) en su lugar.

En el siguiente código de ejemplo, la primera línea muestra cómo la función da como resultado una secuencia. La secuencia se guarda como una variable que luego se usa en un [bucle "for"](/cms/reference/hubl/loops). [Toda variable de una publicación de blog](/cms/reference/hubl/variables#blog-variables) debe usar el nombre de cada elemento del bucle en lugar de `content.`. En el ejemplo, se utiliza `pop_post.name`. Esta técnica se puede utilizar en plantillas de blog y páginas de sitio web.

<Warning>
  **Nota:** esta función tiene un límite de 200 publicaciones. Esta función también tiene un límite de 10 llamadas por página.
</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>

| Parámetro          | Tipo                    | Descripción                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog`    | ID del blog o "default" | Especifica qué blog utilizar, ya sea un blog específico por su ID o el blog predeterminado con `"default"`.                                                                                                                                                                                                                                                                       |
| `limit`            | Entero                  | Especifica el número de publicaciones que se agregarán a la secuencia, hasta un límite de 200. Si no se especifica, el valor predeterminado es 10.                                                                                                                                                                                                                                |
| `tag_slug`         | Matriz                  | Lista opcional de etiquetas para filtrar las publicaciones.                                                                                                                                                                                                                                                                                                                       |
| `time_frame`       | Cadena                  | Período de tiempo opcional de las analíticas para filtrar las publicaciones. Por opción predeterminada es `"popular_past_year"`. Debe ser una entre estas:<ul><li>`"popular_all_time"`</li><li>`"popular_past_year"`</li><li>`"popular_past_six_months"`</li><li>`"popular_past_month"`</li></ul>Este parámetro es obligatorio cuando se incluye el parámetro `logical_operator`. |
| `logical_operator` | Cadena                  | Cuando `tag_slug` contiene varias etiquetas, utiliza este operador para filtrar los resultados con la lógica `AND` u `OR`. Por opción predeterminada, esta función utiliza la lógica `OR` para devolver publicaciones con cualquiera de las etiquetas especificadas. Al incluir este parámetro, `time_frame` es obligatorio.                                                      |

## blog\_post\_archive\_url

La función `blog_post_archive_url` da como resultado una URL completa que enlaza a la página de índice de los archivos según los valores de fecha dados en el blog especificado. Esta función tiene dos parámetros obligatorios y dos opcionales. El primer parámetro es el ID de un blog o simplemente la palabra clave `"default"`. El segundo es el año de las publicaciones archivadas que deseas mostrar.

Los parámetros opcionales incluyen el mes y el día de las publicaciones archivadas que deseas mostrar, respectivamente.

El siguiente ejemplo muestra cómo se puede utilizar esta función como la etiqueta `href` de un ancla.

<CodeGroup>
  ```html example.html theme={null}
  <a href="https://developers.hubspot.es/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>

| Parámetro       | Tipo                    | Descripción                                                                                                 |
| --------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID del blog o "default" | Especifica qué blog utilizar, ya sea un blog específico por su ID o el blog predeterminado con `"default"`. |
| `year`          | Entero                  | El año.                                                                                                     |
| `month`         | Entero                  | El mes opcional.                                                                                            |
| `day`           | Entero                  | El día opcional.                                                                                            |

## blog\_recent\_author\_posts

La función `blog_recent_author_posts` da como resultado una secuencia de objetos de publicaciones de blog del autor especificado, ordenados según el más reciente. Esta secuencia de publicaciones se pueden almacenar en una variable e iterar con un bucle "for", creando un listado de publicaciones personalizado de un autor en particular.

La función toma tres parámetros. El primer parámetro especifica de qué blog se recogen las publicaciones de un autor. El valor debe ser el parámetro `"default"` o el ID de un blog en particular (disponible en la URL del panel de blogs). El segundo parámetro especifica el autor a utilizar. Este parámetro puede utilizar **`content.blog_post_author.slug`** para usar el autor de la publicación actual o aceptar un nombre con guion en minúsculas como `"brian-halligan"`. El tercer parámetro especifica cuántos posts se obtendrán.

La primera línea del ejemplo de abajo demuestra cómo la función devuelve una secuencia con las publicaciones de un autor. En este ejemplo, en lugar de especificar el nombre de un autor, se utiliza el autor actual de la publicación. La secuencia se guarda en una variable y se repite en bucle. [Toda variable de una publicación de blog](/cms/reference/hubl/variables#blog-variables) debe usar el nombre de cada elemento del bucle en lugar de `content.`. En el ejemplo, se utiliza `author_post.name`. Esta técnica se puede utilizar en las plantillas de blogs y páginas.

<Warning>
  **Nota:** Esta función tiene un límite de 200 publicaciones y 10 llamadas por página.
</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>

| Parámetro       | Tipo                         | Descripción                                                                                                                               |
| --------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID del blog o blog "default" | Especifica qué blog utilizar. El ID del blog está dado por el [campo de blog del módulo](/cms/reference/fields/module-theme-fields#blog). |
| `author_slug`   | Cadena                       | Especifica el autor que se usará en el filtro.                                                                                            |
| `limit`         | Entero                       | Especifica el número de publicaciones que se agregarán a la secuencia, hasta un límite de 200.                                            |

## blog\_recent\_posts

La función `blog_recent_posts` da como resultado una secuencia de objetos de publicaciones para el blog especificado, ordenados según el más reciente. Esta secuencia de publicaciones se puede guardar en una variable e iterar mediante un bucle "for", creando un listado personalizado de publicaciones de tus publicaciones más populares.

La función toma dos parámetros. El primer parámetro especifica de qué blog se recogen los posts populares. El valor debe ser el parámetro `"default"` o el ID de un blog en particular (disponible en la URL del panel de blogs). El segundo parámetro especifica cuántos posts se obtendrán.

La primera línea del ejemplo de abajo demuestra cómo la función devuelve una secuencia. La secuencia se guarda en una variable y se repite en bucle. [Toda variable de una publicación de blog](/cms/reference/hubl/variables#blog-variables) debe usar el nombre de cada elemento del bucle en lugar de `content.`. En el ejemplo, se utiliza `rec_post.name`. Esta técnica se puede utilizar no sólo en las plantillas de los blogs, sino también en otras páginas.

<Warning>
  **Nota:** Esta función tiene un límite de 200 publicaciones y 10 llamadas por página.
</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>

| Parámetro       | Tipo                    | Descripción                                                                                                                                                                                                             |
| --------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID del blog o "default" | Especifica qué blog utilizar, ya sea un blog específico por su ID o el blog predeterminado con `"default"`. El ID del blog está dado por el [campo de blog del módulo](/cms/reference/fields/module-theme-fields#blog). |
| `limit`         | Entero                  | Especifica el número de publicaciones que se agregarán a la secuencia, máximo 200.                                                                                                                                      |

## blog\_recent\_tag\_posts

La función `blog_recent_tag_posts` da como resultado una secuencia de objetos de publicaciones de blog correspondiente a una o varias etiquetas especificadas, ordenadas según la más reciente. Esta secuencia de publicaciones se puede guardar en una variable e iterar con un bucle "for", creando un listado de publicaciones personalizado según una o varias etiquetas en particular.

En el código de ejemplo a continuación:

* La primera línea muestra cómo la función devuelve una secuencia de publicaciones por etiqueta.
* La segunda línea muestra cómo guardar la función en una variable de secuencia. El resto del código utiliza un bucle "for" para repetir el ciclo de los valores de la variable. [Toda variable de una publicación de blog](/cms/reference/hubl/variables#blog-variables) debe usar el nombre de cada elemento del bucle en lugar de `content.`. En el ejemplo, se utiliza `tag_post.name`. Puedes usar esta técnica tanto en páginas de blog como en páginas de sitio web.

Encuentra más información sobre cómo [crear una lista de publicaciones de blog relacionadas](/cms/reference/hubl/tags/related-blog-posts).

<Warning>
  **Nota:** Esta función tiene un límite de 100 publicaciones y 10 llamadas por página.
</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>

| Parámetro          | Tipo                    | Descripción                                                                                                                                                                                                                                                                                                             |
| ------------------ | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog`    | ID del blog o "default" | Especifica qué blog utilizar, ya sea un blog específico por su ID o el blog predeterminado con `"default"`. El ID del blog está dado por el [campo de blog del módulo](/cms/reference/fields/module-theme-fields#blog).                                                                                                 |
| `tag_slug`         | Cadena                  | Especifica la etiqueta que se utilizará en el filtro. Puedes incluir hasta 10 etiquetas, separadas por comas. Las etiquetas con varias palabras deben estar en minúsculas con los espacios reemplazados por guiones.                                                                                                    |
| `limit`            | Entero                  | Especifica el número de publicaciones que se agregarán a la secuencia. Este parámetro es obligatorio cuando se incluye el parámetro `logical_operator`.                                                                                                                                                                 |
| `logical_operator` | Cadena                  | Cuando `tag_slug` contiene varias etiquetas, utiliza este operador para filtrar los resultados con la lógica `AND` u `OR`. Por opción predeterminada, esta función utiliza la lógica `OR` para devolver publicaciones con cualquiera de las etiquetas especificadas. Al incluir este parámetro, `limit` es obligatorio. |

## blog\_tag\_url

La función `blog_tag_url` da como resultado una URL completa enlazada a la página de índice del blog cuya etiqueta se ha especificado.

Esta función acepta dos parámetros. El primer parámetro especifica en qué blog se encuentra la página de índice de la etiqueta. El segundo parámetro especifica la etiqueta que se debe enlazar. Este parámetro puede utilizar **`topic.slug`** para una etiqueta específica de `content.topic_list` o acepta un nombre con guion en minúsculas como `"marketing-tips"`.

El siguiente ejemplo muestra cómo se puede utilizar esta función como etiqueta href de un ancla.

<CodeGroup>
  ```html example.html theme={null}
  <a href="https://developers.hubspot.es/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>

| Parámetro       | Tipo                    | Descripción                                                                                                 |
| --------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID del blog o "default" | Especifica qué blog utilizar, ya sea un blog específico por su ID o el blog predeterminado con `"default"`. |
| `tag_slug`      | Cadena                  | Especifica la etiqueta a la que se va a enlazar.                                                            |

## blog\_tags

La función `blog_tags` da como resultado una secuencia de las 250 etiquetas con la mayor cantidad de artículos en el blog (en función del número de publicaciones asociadas) para el blog especificado, ordenadas según el número de publicaciones. Esta secuencia se puede almacenar en una variable e iterar para crear filtros personalizados para las etiquetas de las publicaciones. Se puede ver el número de publicaciones de cada etiqueta con `tag.live_posts`.

Esta función acepta dos parámetros. El primer parámetro especifica de qué blog se van a obtener las etiquetas. El segundo parámetro establece un límite en el número de etiquetas obtenidas.

La primera línea del ejemplo de abajo muestra cómo la función devuelve una secuencia de objetos de etiqueta. El resto del ejemplo muestra un caso en el que se guarda una secuencia en una variable y luego se itera en todos los objetos de etiqueta, imprimiendo un conjunto de enlaces a etiquetas. En el ejemplo se asume que el blog tiene 4 etiquetas.

<Warning>
  **Nota:** Esta función tiene un límite de 250 etiquetas.
</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.es/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>

| Parámetro       | Tipo                         | Descripción                                                                                                                               |
| --------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID del blog o blog "default" | Especifica qué blog utilizar. El ID del blog está dado por el [campo de blog del módulo](/cms/reference/fields/module-theme-fields#blog). |
| `limit`         | Entero                       | La cantidad máxima de etiquetas que saldrán en los resultados.                                                                            |

## blog\_total\_post\_count

Esta función da como resultado el número total de artículos publicados en el blog especificado. Si no se especifica ningún parámetro, contará las publicaciones del blog especificado por defecto. Como alternativa, puedes especificar el parámetro `"default"` o el ID de un blog diferente para hacer el conteo. El ID del blog está disponible en la URL del panel de control para cada blog.

<Warning>
  **Nota:** esta función tiene un límite de 10 llamadas por página.
</Warning>

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

  ```text resultados renderizados.txt theme={null}
  16 54
  ```
</CodeGroup>

| Parámetro       | Tipo                    | Descripción                                                                                                                                         |
| --------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selected_blog` | ID del blog o "default" | Especifica en qué blog hacer el conteo. El ID del blog está dado por el [campo de blog del módulo](/cms/reference/fields/module-theme-fields#blog). |

## clear

Elimina todos los elementos de una lista. A diferencia de `pop()`, no entrega ningún resultado.

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

  ```text resultados renderizados.txt theme={null}
  []
  ```
</CodeGroup>

## color\_contrast

Esta función valida el contraste de color con base en [los estándares de las Web Content Accessibility Guidelines (WCAG)](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum). Tendrás que incluir dos colores como argumentos, y puedes incluir un argumento opcional para especificar la calificación (`AA` o `AAA`). El resultado serán los parámetros `true` o `false` en función de si los colores cumplen o superan los estándares.

<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 resultados renderizados.txt theme={null}
  true false Hey there
  ```
</CodeGroup>

| Parámetro | Tipo   | Descripción                                                                                                                                                                                                                                                                                                                                |
| --------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `color_1` | Color  | El primer color que se va a comparar. Acepta:<ul><li>Códigos hexadecimales de 6 dígitos (`#FFFFFF`)</li><li>Códigos hexadecimales de 3 dígitos (`#F0A`)</li><li>Códigos de color RGB (`rgb(12,31,1)`)</li></ul>También puede usar una variable que almacene un código de color hexadecimal o RGB, por ejemplo, `theme.primary_color.color` |
| `color_2` | Color  | El segundo color que se va a comparar con el primero.                                                                                                                                                                                                                                                                                      |
| `rating`  | Cadena | El estándar de las WCAG que se utilizará para la calificación. Puede ser `AA` (predeterminado) o `AAA`.                                                                                                                                                                                                                                    |

## color\_variant

Esta función aclara u oscurece un valor hexadecimal o una variable de color en un grado específico. El primer parámetro es el color hexadecimal (por ejemplo ("#FFDDFF") o una variable que almacene un valor hexadecimal. El segundo parámetro es el grado en el que se debe ajustar, de 0 a 255. Esta función se puede utilizar en archivos CSS para crear variaciones de color. Otro buen ejemplo es utilizarla con un parámetro de color de un módulo de color, para permitir a los usuarios especificar un color primario que genere automáticamente variaciones de color.

En el ejemplo de abajo, el color hexadecimal #3A539B se almacena en una variable llamada `base_color`. El color se modifica en -80 dando como resultado un azul más oscuro (#00034B).

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

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

| Parámetro           | Tipo                        | Descripción                                                                             |
| ------------------- | --------------------------- | --------------------------------------------------------------------------------------- |
| `base_color`        | Cadena de color hexadecimal | El color inicial que se modificará. Por ejemplo, `#F7F7F7`.                             |
| `brightness_offset` | Entero                      | Un número positivo o negativo que se utiliza para aclarar u oscurecer el color de base. |

## content\_by\_id

La función **`content_by_id`** da como resultado una landing page, una página de sitio web o una publicación de blog según el ID. El único parámetro aceptado por esta función es un ID de contenido numérico.

El siguiente código de ejemplo muestra esta función en uso, que genera una lista de elementos con los hipervínculos.

<Warning>
  **Nota:** esta función tiene un límite de 10 llamadas por página.
</Warning>

<CodeGroup>
  ```html example.html theme={null}
  {% set my_content = content_by_id(4715624297) %}
  <ul>
  <li>
  <a href="https://developers.hubspot.es/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>

| Parámetro | Tipo | Descripción                         |
| --------- | ---- | ----------------------------------- |
| `id`      | ID   | El ID del contenido que se buscará. |

## content\_by\_ids

Dada una lista de varios ID de contenido, da como resultado un dict (diccionario) de páginas de destino, páginas de sitio web o publicaciones de blog que coinciden con esos ID.

Esta función toma un parámetro, una lista de ID de páginas o publicaciones de blog para buscar, colocadas en orden. Se pueden pasar hasta 100 objetos de contenido. El siguiente código de ejemplo muestra esta función en uso para generar una lista de elementos con sus hipervínculos.

<Warning>
  **Nota:** esta función tiene un límite de 10 llamadas por página.
</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.es/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>

| Parámetro | Tipo  | Descripción                                                                                                     |
| --------- | ----- | --------------------------------------------------------------------------------------------------------------- |
| `ids`     | Lista | Una lista de ID de páginas o publicaciones de blog para buscar. Se pueden pasar hasta 100 objetos de contenido. |

## copy

Da como resultado una copia superficial de la lista. Equivalente a `a[:]`.

Una *copia superficial* construye un nuevo objeto compuesto y luego (en la medida de lo posible) inserta en él *referencias* a los objetos que se encuentran en el 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 resultados renderizados.txt theme={null}
  a: [ham] b: [ham] After Append a: [ham, swiss] b: [ham]
  ```
</CodeGroup>

## count

Da como resultado el número de veces que una variable existe en una lista.

<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

Obtiene una lista de registros del CRM asociados a otro registro mediante su ID de registro, la categoría de asociación y el ID que define la asociación.

Esta función devuelve un objeto con los siguientes atributos: `has_more`, `total`, `offset` y `results`.

* `has_more` indica que hay más resultados disponibles además de este bloque (total > offset).
* `total` es el número total de resultados disponibles.
* `offset` es el desplazamiento que se utilizará para el siguiente bloque de resultados.
* *`results`* devuelve una lista de los objetos asociados especificados que coinciden con los parámetros de la función.

<Warning>
  **Nota:** Por razones de seguridad, de los [tipos de objetos estándar de HubSpot](https://knowledge.hubspot.com/es/get-started/manage-your-crm-database#standard-objects) solo los objetos `producto` y `evento de marketing` se pueden obtener desde una página de acceso público. Cualquier otro tipo de objeto estándar debe alojarse en una página que esté [protegida por contraseña](https://knowledge.hubspot.com/es/website-pages/password-protect-a-page) o que requiera un [inicio de sesión por membresía en el CMS](https://knowledge.hubspot.com/es/website-pages/require-member-registration-to-access-private-content). Los objetos personalizados no tienen esta misma restricción.
</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 resultados renderizados.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>
  **Nota:** Esta función se puede llamar un máximo de 10 veces por página. Cada llamada de la función `crm_associations` puede dar como resultado como máximo 100 objetos. El límite por opción predeterminada es de 10 objetos.
</Warning>

| Parámetro              | Tipo     | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                   | ID       | ID del registro a partir del que se deben buscar asociaciones.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `association category` | Cadena   | La categoría de la definición de la asociación. Los valores posibles son `HUBSPOT_DEFINED`, `USER_DEFINED` y `INTEGRATOR_DEFINED`. Este parámetro puede omitirse en el caso de los tipos de asociación integrados definidos por HubSpot.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `association type id`  | Entero   | El ID de la definición de la asociación que se va a utilizar. Para saber los objetos estándar de HubSpot compatibles, consulta [ID del tipo de asociación que vas a usar](https://developers.hubspot.es/docs/guides/api/crm/associations). De otro modo, el ID de la asociación se puede encontrar en la [API del esquema de objetos del CRM](/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details).                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `query`                | Cadena   | El `id` del registro, o una cadena de consulta, delimitada por `&`. Todas las expresiones se suman con AND. Los operadores admitidos son:<ul><li>`eq` (predeterminado)</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` (aplicable para propiedades con varios valores o propiedades de cadena, por ejemplo, *"firstname\_\_contains=Tim"*).</li></ul>Las consultas pueden incluir los siguientes parámetros:<ul><li>`limit`: el número máximo de resultados obtenidos en la respuesta, por ejemplo, `limit=50`.</li><li>`offset`: para distribuir los resultados en páginas si el número de resultados devueltos es superior al parámetro límite, por ejemplo, `offset=51`.</li><li>`orderBy`: ordena los resultados por una propiedad específica, por ejemplo, `orderBy=email`.</li></ul> |
| `properties`           | Cadena   | Opcional. Una lista separada con comas de las propiedades que saldrán en los resultados. Por defecto, el resultado es un pequeño conjunto de propiedades comunes. Siempre se devuelve la propiedad ID. Se puede encontrar una lista completa de propiedades utilizando los endpoints para [obtener todas las propiedades de los contactos](https://developers.hubspot.es/docs/api-reference/legacy/crm-properties-v1-contacts/get-properties-v1-contacts-properties#get-all-contact-properties) y [obtener todas las propiedades de las empresas](https://developers.hubspot.es/docs/api-reference/legacy/crm-properties-v1-companies/get-properties-v1-companies-properties#get-all-company-properties).                                                                                                                                                                                         |
| `formatting`           | Booleano | Opcional. Da formato a los valores, como las fechas y la divisa, de acuerdo con la configuración del portal. Omite o pasa el parámetro `false` con las cadenas sin procesar.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

## crm\_object

Obtiene un único registro del CRM por consulta o por ID. Los registros aparecerán en un dicc. de propiedades y valores.

Esta función también se puede [utilizar con objetos personalizados y de integraciones](/cms/start-building/features/data-driven-content/crm-objects).

<Warning>
  **Nota:** Por razones de seguridad, de los [tipos de objetos estándar de HubSpot](https://knowledge.hubspot.com/es/get-started/manage-your-crm-database#standard-objects) solo los objetos `producto` y `evento de marketing` se pueden obtener desde una página de acceso público. Cualquier otro tipo de objeto estándar debe alojarse en una página que esté [protegida por contraseña](https://knowledge.hubspot.com/es/website-pages/password-protect-a-page) o que requiera un [inicio de sesión por membresía en el CMS](https://knowledge.hubspot.com/es/website-pages/require-member-registration-to-access-private-content). Los objetos personalizados no tienen esta misma restricción.
</Warning>

<Tip>
  ¿Cuál es la diferencia entre los parámetros `in` y `contains`?

  `in` entrega resultados si el valor de la propiedad coincide con alguno de los valores dados. Por otro lado, `contains` entrega resultados si los valores de las propiedades en una selección múltiple tienen todos los valores especificados.
</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 resultados renderizados.txt theme={null}
  Brian Halligan
  ```
</CodeGroup>

<Warning>
  **Nota:** Esta función solo se puede llamar un máximo de 10 veces en una misma página.
</Warning>

| Parámetro     | Tipo     | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type` | Cadena   | El nombre del tipo de objeto. Los nombres de los tipos de objetos distinguen entre mayúsculas y minúsculas. Encuentra más información sobre los [tipos de objetos admitidos](/cms/start-building/features/data-driven-content/crm-objects#supported-crm-object-types). Para encontrar los nombres de los tipos de objetos específicos de la cuenta y de integraciones disponibles en tu cuenta, utiliza la [API del esquema de objetos del CRM](/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) para obtener las definiciones de los tipos y encontrar el nombre de la propiedad. Contiene el nombre del tipo de objeto interno que se debe usar para la función. En el caso de los tipos de objeto de integraciones y específicos de la cuenta con el mismo nombre que los objetos de la aplicación debes usar el [nombre completamente calificado](/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) (FQN, por sus siglas en inglés) de los objetos. |
| `query`       | Cadena   | Opcional. El `id` del registro, o una cadena de consulta, delimitada con`&`. Todas las expresiones se suman con AND. Los operadores admitidos son:<ul><li>`eq` (predeterminado)</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` (aplicable para propiedades con varios valores o propiedades de cadena, por ejemplo, *"firstname\_\_contains=Tim"*).</li></ul>Las consultas pueden incluir los siguientes parámetros:<ul><li>`limit`: el número máximo de resultados obtenidos en la respuesta. por ejemplo, `limit=50`.</li><li>`offset`: para distribuir los resultados en páginas si el número de resultados devueltos es superior al parámetro límite, por ejemplo, `offset=51`.</li><li>`orderBy`: ordena los resultados por una propiedad específica, por ejemplo, `orderBy=email`.</li></ul>                                                                                                                                                     |
| `properties`  | Cadena   | Opcional. Una lista separada con comas de las propiedades que saldrán en los resultados. Por defecto, el resultado es un pequeño conjunto de propiedades comunes. Siempre se devuelve la propiedad ID. Se puede encontrar una lista completa de propiedades utilizando los endpoints para [obtener todas las propiedades de los contactos](https://developers.hubspot.es/docs/api-reference/legacy/crm-properties-v1-contacts/get-properties-v1-contacts-properties#get-all-contact-properties) y [obtener todas las propiedades de las empresas](https://developers.hubspot.es/docs/api-reference/legacy/crm-properties-v1-companies/get-properties-v1-companies-properties#get-all-company-properties).                                                                                                                                                                                                                                                                                                                                                      |
| `formatting`  | Booleano | Opcional. Da formato a los valores, como las fechas y la divisa, de acuerdo con la configuración del portal. Pasa el parámetro `false` con las cadenas sin procesar.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

<Warning>
  **Nota:** Cuando creas una consulta, los valores `range`, `distinct` `ndistinct` y `startswith` son palabras clave reservadas. Para consultar una propiedad que usa uno de esos nombres, deberás usar el siguiente formato: `range__eq=` (en lugar de `range=`).
</Warning>

## crm\_objects

Obtiene una lista de registros para un tipo de objeto específico del CRM de HubSpot.

Esta función devuelve un objeto con los siguientes atributos: `has_more`, `total`, `offset` y `results`.

* `has_more` indica que hay más resultados disponibles además de este bloque (total > offset).
* `total` es el número total de resultados disponibles.
* `offset` es el desplazamiento que se utilizará para el siguiente bloque de resultados.
* `results` devuelve una lista de los objetos especificados que coinciden con los parámetros de la función.

Los resultados se pueden ordenar utilizando al menos un parámetro de orden en la consulta. Por ejemplo, `crm_objects("contact", "firstname=Bob&order=lastname&order=createdate")` ordenará los contactos con el nombre `"Bob"` según el apellido y luego según el parámetro `createdate`. Para invertir el orden, agrega el signo `-` al nombre de la propiedad así: `order=-createdate`. La función de objetos del CRM también puede utilizarse con [objetos personalizados y de integraciones](/cms/start-building/features/data-driven-content/crm-objects).

<Warning>
  **Nota:** Por razones de seguridad, de los [tipos de objetos estándar de HubSpot](https://knowledge.hubspot.com/es/get-started/manage-your-crm-database#standard-objects) solo los objetos `producto` y `evento de marketing` se pueden obtener desde una página de acceso público. Cualquier otro tipo de objeto estándar debe alojarse en una página que esté [protegida por contraseña](https://knowledge.hubspot.com/es/website-pages/password-protect-a-page) o que requiera un [inicio de sesión por membresía en el CMS](https://knowledge.hubspot.com/es/website-pages/require-member-registration-to-access-private-content). Los objetos personalizados no tienen esta misma restricción.
</Warning>

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

  ```text resultados renderizados.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>
  **Nota:** Esta función se puede llamar un máximo de 10 veces por página. Cada llamada de la función `crm_objects` puede dar como resultado como máximo 100 objetos. El límite por opción predeterminada es de 10 objetos.
</Warning>

| Parámetro     | Tipo     | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type` | Cadena   | El tipo de objeto por su nombre. Los nombres de los tipos de objetos distinguen entre mayúsculas y minúsculas. Se aceptan el singular y el plural en el caso de los tipos de objetos estándar (por ejemplo, `contacto`, `contactos`). Encuentra más información sobre los [tipos de objetos admitidos](/cms/start-building/features/data-driven-content/crm-objects#supported-crm-object-types). Para encontrar los nombres de los tipos de objetos específicos de la cuenta y de integraciones disponibles en tu cuenta, utiliza la [API del esquema de objetos del CRM](/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) para obtener las definiciones de los tipos y las propiedades del nombre. En el caso de los tipos de objetos específicos de integraciones y de la cuenta con el mismo nombre que los objetos propios de la aplicación, utiliza el [nombre completo cualificado](/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) (FQN, por sus siglas en inglés) de los objetos. |
| `query`       | Cadena   | Opcional. El ID del registro o una cadena de consulta, delimitada con `&`. Todas las expresiones se suman con AND. Los operadores admitidos son:<ul><li>`eq` (predeterminado)</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` (aplicable para propiedades con varios valores o propiedades de cadena, por ejemplo, *"firstname\_\_contains=Tim"*).</li></ul>Ejemplo:`"email=contact@company.com"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `properties`  | Cadena   | Opcional. Una lista separada con comas de las propiedades que saldrán en los resultados. Por defecto, el resultado es un pequeño conjunto de propiedades comunes. Siempre se devuelve el ID de la propiedad. Puedes encontrar una lista completa de las propiedades utilizando los endpoints para [obtener todas las propiedades de los contactos](https://developers.hubspot.es/docs/api-reference/legacy/crm-properties-v1-contacts/get-properties-v1-contacts-properties#get-all-contact-properties) y [obtener todas las propiedades de las empresas](https://developers.hubspot.es/docs/api-reference/legacy/crm-properties-v1-companies/get-properties-v1-companies-properties#get-all-company-properties). El ID del registro siempre se incluye en las propiedades del objeto que salen en los resultados, incluso cuando no se agrega explícitamente en la lista de propiedades.                                                                                                                                                                                                          |
| `formatting`  | Booleano | Opcional. Da formato a los valores, como las fechas y la divisa, de acuerdo con la configuración del portal. Pasa el parámetro `false` con las cadenas sin procesar.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

<Warning>
  **Nota:** Cuando creas una consulta, los valores `range`, `distinct` `ndistinct` y `startswith` son palabras clave reservadas. Para consultar una propiedad que usa uno de esos nombres, deberás usar el siguiente formato: `range__eq=` (en lugar de `range=`).
</Warning>

## crm\_property\_definition

Permite obtener la definición de la propiedad para un tipo de objeto y un nombre de propiedad dados.

Los tipos de objetos admitidos son los objetos estándar de HubSpot (por ejemplo, los contactos), los objetos específicos del portal y los objetos de integraciones.

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

| Parámetro       | Tipo   | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| --------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type`   | Cadena | El nombre del tipo de objeto. Los nombres de los tipos de objetos distinguen entre mayúsculas y minúsculas. Encuentra más información sobre los [tipos de objetos admitidos](/cms/start-building/features/data-driven-content/crm-objects#supported-crm-object-types). Para encontrar los nombres de los tipos de objetos específicos de la cuenta y de integraciones disponibles en tu cuenta, utiliza la [API del esquema de objetos del CRM](/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) para obtener las definiciones de los tipos y encontrar el nombre de la propiedad. Contiene el nombre del tipo de objeto interno que se debe usar para functionFor. En el caso de los tipos de objeto de integraciones y específicos de la cuenta con el mismo nombre que los objetos de la aplicación debes usar el [nombre completamente calificado](/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) (FQN, por sus siglas en inglés) de los objetos. |
| `property_name` | Cadena | El nombre de la propiedad que sirve para obtener la definición y que no distingue entre mayúsculas y minúsculas.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |

## crm\_property\_definitions

Permite obtener las definiciones de las propiedades para un tipo de objeto y un conjunto de nombres de propiedades dados.

Los tipos de objetos admitidos son los objetos estándar de HubSpot (por ejemplo, los contactos), los objetos específicos del portal y los objetos de integraciones.

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

| Parámetro       | Tipo   | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| --------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_type`   | Cadena | El nombre del tipo de objeto. Los nombres de los tipos de objetos distinguen entre mayúsculas y minúsculas. Encuentra más información sobre los [tipos de objetos admitidos](/cms/start-building/features/data-driven-content/crm-objects#supported-crm-object-types). Para encontrar los nombres de los tipos de objetos específicos de la cuenta y de integraciones disponibles en tu cuenta, utiliza la [API del esquema de objetos del CRM](/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) para obtener las definiciones de los tipos y encontrar el nombre de la propiedad. Contiene el nombre del tipo de objeto interno que se debe usar para functionFor. En el caso de los tipos de objeto de integraciones y específicos de la cuenta con el mismo nombre que los objetos de la aplicación debes usar el [nombre completamente calificado](/cms/start-building/features/data-driven-content/crm-objects#getting-a-custom-object-type-s-details) (FQN, por sus siglas en inglés) de los objetos. |
| `property_name` | Cadena | Opcional. Los nombres de las propiedades que sirven para obtener la definición, separados por comas, sin distinción entre mayúsculas y minúsculas. Si está vacío, se extraerán las definiciones de todas las propiedades.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

## cta

Debido a que los módulos de CTA tienen muchos parámetros con variaciones en el código de programación, puedes utilizar la función CTA para generar fácilmente una CTA particular en una plantilla, página o correo electrónico. Esta es la función que utiliza el editor de texto enriquecido cuando se agrega una CTA mediante el editor.

<Warning>
  **Nota:** Esta función tiene un límite de 10 llamadas por página.
</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>

| Parámetro   | Tipo        | Descripción                                                                                                          |
| ----------- | ----------- | -------------------------------------------------------------------------------------------------------------------- |
| `guid`      | Cadena      | El ID de la CTA que se renderiza. Se puede encontrar en la URL de la pantalla de datos de la CTA.                    |
| `align_opt` | Enumeración | Ajusta la alineación de la CTA. Los valores incluyen: `justifyleft`, `justifycenter`, `justifyright`, `justifyfull`. |

## extend

Permite ampliar una lista agregando todos los elementos de un bloque iterable. En otras palabras, inserta todos los elementos de una lista en otra lista.

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

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

## file\_by\_id

Esta función entrega los metadatos de un archivo según el ID. Acepta un único parámetro, el ID numérico del fichero que se busca. Para obtener varios archivos a la vez, utiliza la función [files\_by\_ids](#files_by_ids) en su lugar.

<Warning>
  **Nota:** Esta función está limitada a 10 llamadas por página.
</Warning>

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

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

| Parámetro | Tipo   | Descripción                     |
| --------- | ------ | ------------------------------- |
| `file_id` | Número | El ID del archivo que se busca. |

## files\_by\_ids

Entrega los metadatos de varios archivos según el ID. Acepta una serie de ID de archivo.

<Warning>
  **Nota:** Esta función está limitada a 10 llamadas por página y puede aceptar hasta 100 ID de archivo.
</Warning>

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

  ```text resultados renderizados.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>

| Parámetro | Tipo   | Descripción                                                            |
| --------- | ------ | ---------------------------------------------------------------------- |
| `file_id` | Número | Los ID de los archivos que se buscan, separados por comas (hasta 100). |

Por ejemplo, puedes usar esta función para repetir los archivos que se han subido para un contacto. Para volver sobre los resultados, deberás usar el [filtro split de HubL](/cms/reference/hubl/filters#split), ya que la propiedad del CRM será una cadena separada con punto y coma.

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

Cuando una publicación de blog está [configurada para el acceso por autorregistro](https://knowledge.hubspot.com/es/blog/use-self-registration-for-private-blog-content), los visitantes deberán registrarse o iniciar sesión para ver el contenido completo de la publicación. Los recursos de blog predeterminados de HubSpot incluyen esta función automáticamente y también un indicador con el icono de un candado para las publicaciones que requieren autorregistro para acceder. Obtén más información sobre cómo [crear soluciones personalizadas utilizando esta función y su API correspondiente](/cms/start-building/features/memberships/overview#private-blog-posts-with-self-registration).

Esta función comprueba si el visitante actual puede acceder a una publicación de blog. Cuando se llama, la función se reemplaza con el siguiente atributo:

`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 resultados renderizados.txt theme={null}
  <article hs-member-content-access="true">...</article>
  ```
</CodeGroup>

| Parámetro | Tipo | Descripción                                                                               |
| --------- | ---- | ----------------------------------------------------------------------------------------- |
| `ID`      | ID   | El ID del contenido que se cotejará con la persona que ha iniciado sesión en ese momento. |

## follow\_me\_links

Devuelve los [enlaces de las cuentas de redes sociales fijadas en la configuración de la cuenta](https://knowledge.hubspot.com/es/design-manager/use-default-modules-in-the-layout-editor#add-social-accounts-to-the-follow-me-module). Se utiliza en el [módulo predeterminado follow\_me](/cms/reference/modules/default-modules#follow-me).

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

  ```text resultados renderizados.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

Le da formato a una dirección según la configuración regional del contexto.

<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 resultados renderizados.txt theme={null}
  [25 First Street, 2nd Floor, Cambridge, MA 02141, United States]
  ```
</CodeGroup>

| Parámetro  | Tipo   | Descripción                                                             |
| ---------- | ------ | ----------------------------------------------------------------------- |
| `locale`   | Cadena | La configuración regional que determinará el formato de la dirección.   |
| `address`  | Cadena | La dirección del lugar.                                                 |
| `address2` | Cadena | La segunda línea de la dirección, como el número de piso o apartamento. |
| `city`     | Cadena | La ciudad de la dirección.                                              |
| `state`    | Cadena | El estado de la dirección.                                              |
| `country`  | Cadena | El país de la dirección.                                                |
| `zip`      | Cadena | El código postal de la dirección.                                       |

## format\_company\_name

Permite darle formato al nombre de una empresa agregando sufijos honoríficos japoneses cuando corresponda.

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

  ```text resultados renderizados.txt theme={null}
  HubSpot
  ```
</CodeGroup>

| Parámetro                  | Tipo     | Descripción                                                                                                                             |
| -------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `companyName`              | Cadena   | El nombre de la empresa.                                                                                                                |
| `useHonorificIfApplicable` | Booleano | Cuando se establece en `true` y el idioma del contexto es japonés, se agregará el sufijo honorífico para la empresa cuando corresponda. |

## format\_name

Permite dar formato al nombre de una persona colocando el apellido antes del primer nombre y agrega sufijos honoríficos japoneses cuando corresponda.

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

  ```text resultados renderizados.txt theme={null}
  Hobbes Baron
  ```
</CodeGroup>

| Parámetro                  | Tipo     | Descripción                                                                                                                     | Predeterminado |
| -------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------- | -------------- |
| `firstName`                | Cadena   | El nombre de la persona.                                                                                                        |                |
| `surname`                  | Cadena   | El apellido de la persona.                                                                                                      | `False`        |
| `useHonorificIfApplicable` | Booleano | Cuando se establece en `true` y el idioma del contexto es japonés, se agregará un sufijo honorífico japonés cuando corresponda. |                |

## format\_datetime

Permite darle formato a los componentes de fecha y hora de un objeto de fecha, similar al filtro de HubL [format\_datetime](/cms/reference/hubl/filters#format_datetime). Esta función reemplaza a la función obsoleta `datetimeformat`.

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

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

| Parámetro  | Tipo   | Descripción                                                                                                                                                                                                                                                                      |
| ---------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format`   | Cadena | El formato que se utilizará. Puede ser uno de los siguientes:<ul><li>`short`</li><li>`medium`</li><li>`long`</li><li>`full`</li><li>un patrón personalizado basado en las normas [Unicode LDML](https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns)</li></ul> |
| `timeZone` | Cadena | La zona horaria de la fecha del resultado en [formato IANA TZDB](https://data.iana.org/time-zones/tzdb/).                                                                                                                                                                        |
| `locale`   | Cadena | La configuración regional que se utilizará en los formatos adaptados a la configuración regional.                                                                                                                                                                                |

## geo\_distance

Esta función contiene 4 parámetros y calcula la altura elipsoidal 2D entre dos puntos de la Tierra. Utiliza esta función como una consulta de filtro para obtener los datos de 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>

| Parámetro     | Tipo      | Descripción                                                                                                                         |
| ------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `point1`      | Ubicación | Ubicación desde una columna de HubDB.                                                                                               |
| `point2_lat`  | Latitud   | Latitud del punto 2.                                                                                                                |
| `point2_long` | Longitud  | Longitud del punto 2.                                                                                                               |
| `units`       | Cadena    | Unidades de medida del valor resultante. Las opciones son `FT` para pies, `MI` para millas, `M` para metros o `KM` para kilómetros. |

## get\_asset\_url

Esta función devuelve la URL pública de la plantilla o el archivo de programación especificado. El parámetro de esta función es la ruta del recurso en el administrador de diseño. Las URL de los archivos incluidas en el código se actualizan cada vez que se publican; por lo tanto, al utilizar esta función te aseguras de utilizar siempre la última versión del archivo.

Puedes generar automáticamente esta función en la aplicación, bien haciendo clic con el botón derecho en un **archivo** y seleccionando **Copiar URL pública**, o bien haciendo clic en **Acciones** y seleccionando luego **Copiar URL pública**.

En el siguiente ejemplo se obtiene la URL de un archivo Javascript creado en el administrador de diseño que se puede incluir como atributo `src` de una etiqueta `<script>`.

<Frame>
  <img src="https://cdn2.hubspot.net/hubfs/53/Designers_Docs_2015/copy-public-url-4.gif" alt="Copia de una URL pública" />
</Frame>

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

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

| Parámetro | Tipo   | Descripción                                                                  |
| --------- | ------ | ---------------------------------------------------------------------------- |
| `path`    | Cadena | La ruta del archivo del administrador de diseño a la plantilla o el archivo. |

## get\_public\_template\_url\_by\_id

Esta función, al igual que `get_public_template_url`, devuelve la URL pública de la plantilla o el archivo de programación especificado. La única diferencia es que el parámetro de esta función es el ID de la plantilla (disponible en la URL de la plantilla o el archivo de programación), en lugar de la ruta del administrador de diseño.

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

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

| Parámetro     | Tipo | Descripción                                 |
| ------------- | ---- | ------------------------------------------- |
| `template_id` | ID   | El número de ID de la plantilla de archivo. |

## hubdb\_table

[HubDB ](/cms/start-building/features/data-driven-content/crm-objects#hubdb-dynamic-pages) es una característica disponible en ***Content Hub*** *Pro* y *Enterprise*.

La función `hubdb_table` se puede utilizar para obtener información sobre una tabla, incluyendo su nombre, columnas, última actualización, etcétera.

Los siguientes datos pueden obtenerse llamando los atributos correspondientes:

* **ID:** el ID de la tabla.
* **name:** el nombre de la tabla.
* **columns:** una lista de la información de las columnas.
* **created\_at:** la marca de tiempo de cuando se creó esta tabla por primera vez.
* **published\_at:** la marca de tiempo de cuando se publicó esta tabla.
* **updated\_at:** la marca de tiempo de cuando esta tabla fue actualizada por última vez.
* **row\_count:** el número de filas de la tabla.

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

  ```text resultados renderizados.txt theme={null}
  25
  ```
</CodeGroup>

<Warning>
  **Nota:** esta función tiene un límite de 10 llamadas por página.
</Warning>

| Parámetro  | Tipo   | Descripción                    |
| ---------- | ------ | ------------------------------ |
| `table_id` | Cadena | El ID o el nombre de la tabla. |

## hubdb\_table\_column

[HubDB ](/cms/start-building/features/data-driven-content/crm-objects#hubdb-dynamic-pages) es una característica disponible en ***Content Hub*** *Pro* y *Enterprise*.

La función `hubdb_table_column` se puede utilizar para obtener información sobre una columna de la tabla, como la etiqueta, el tipo y las opciones. Esta función acepta dos parámetros.

Esta información sobre la columna puede obtenerse llamando los atributos correspondientes:

* **ID:** el ID de la columna.
* **name:** el nombre de la columna.
* **label:** la etiqueta que se utilizará para la columna.
* **type:** el tipo de la columna.
* **options:** en el caso de las columnas de tipo `select`, un mapa del parámetro `optionId` con la información sobre las opciones.
* **foreignIds:** en el caso de las columnas de tipo `"foreignId"`, una lista de los atributos `foreignIds` (con las propiedades `id` y `name`).

Además de los atributos anteriores, también se puede llamar el método **`getOptionByName("&lt;option name&gt;")`** mediante el cual se obtendrá la información de la opción por su nombre en el caso de las columnas de tipo `"select"`.

<Info>
  Los nombres de las columnas no distinguen entre mayúsculas y minúsculas, por ejemplo, tanto `HS_ID` como `hs_id` son válidos.
</Info>

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

  ```text resultados renderizados.txt theme={null}
  role
  ```
</CodeGroup>

| Parámetro  | Tipo   | Descripción                      |
| ---------- | ------ | -------------------------------- |
| `table_id` | Cadena | El ID o el nombre de la tabla.   |
| `column`   | Cadena | El ID o el nombre de la columna. |

## hubdb\_table\_row

[HubDB ](/cms/start-building/features/data-driven-content/crm-objects#hubdb-dynamic-pages) es una característica disponible en ***Content Hub*** *Pro* y *Enterprise*.

La función `hubdb_table_row` se puede utilizar para extraer una sola fila de una tabla HubDB. Desde esta fila, se puede extraer la información de cada celda de la tabla llamando el atributo correspondiente:

* **hs\_id:** el identificador único global de esta fila.
* **hs\_created\_at:** una marca de tiempo que representa cuándo se creó la fila.
* **hs\_path:** cuando se utiliza con páginas dinámicas, esta cadena es el último segmento de la ruta de la URL de la página.
* **hs\_name:** cuando se utiliza con páginas dinámicas, es el título de la página.
* \<column name> or \["\<column name>"]: obtiene el valor de la columna de la fila por el `name` de la columna.

<Info>
  Los nombres de las columnas no distinguen entre mayúsculas y minúsculas, por ejemplo, tanto `HS_ID` como `hs_id` son válidos.
</Info>

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

  ```text resultados renderizados.txt theme={null}
  CTO
  ```
</CodeGroup>

<Warning>
  **Nota:** esta función tiene un límite de 10 llamadas por página.
</Warning>

| Parámetro  | Tipo   | Descripción                    |
| ---------- | ------ | ------------------------------ |
| `table_id` | Cadena | El ID o el nombre de la tabla. |
| `row_id`   | Entero | El ID de la fila de la tabla.  |

## hubdb\_table\_rows

[HubDB ](/cms/start-building/features/data-driven-content/crm-objects#hubdb-dynamic-pages) es una característica disponible en ***Content Hub*** *Pro* y *Enterprise*.

La función `hubdb_table_rows` se puede utilizar para obtener una lista de las filas de una tabla HubDB con el fin de iterarlas. Una sola llamada de `hubdb_table_rows()` está limitada a 10 escaneos de tabla por página.

Por opción predeterminada, esta función devolverá un máximo de 1000 filas. Para obtener más filas, especifica el parámetro `limit` en la consulta, como se muestra en el código más abajo.

<Warning>
  **Nota:** Si usas un [filtro aleatorio](/cms/reference/hubl/filters#random) con esta función, la página se [renderizará previamente](/cms/best-practices/testing-staging-performance/prerendering) con regularidad. Esto significa que el contenido filtrado no se actualizará cada vez que se descargue la página.
</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 resultados renderizados.txt theme={null}
  the value for row 6726439331 is Brian Halligan the value for row 8438997836 is
  Dharmesh Shah
  ```
</CodeGroup>

| Parámetro  | Tipo   | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ---------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `table_id` | Cadena | El ID o el nombre de la tabla que se consulta.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `query`    | Cadena | Una consulta con el mismo formato que la cadena de una consulta de URL. Si no pasa, el resultado muestra todas las filas. Encuentra más información sobre los [filtros disponibles](/api-reference/cms-hubdb-v3/guide#filter-returned-rows) para consultar las filas de las tablas de HubDB. Puedes invertir el orden agregando un guion `-` al nombre de la columna: `orderBy=-bar`. Puedes incluir este parámetro varias veces para ordenar los resultados con base en varias columnas. Además de ordenar según una columna, también puedes incluir las siguientes funciones:<ul><li>`geo_distance(location_column_name, latitude, longitude)`: toma el nombre de una columna de ubicación y las coordenadas, y muestra las filas ordenadas según la distancia entre el valor de la ubicación en la columna especificada y las coordenadas proporcionadas.</li><li>`length(column_name)`: toma el nombre de una columna, y muestra las filas ordenadas según la longitud del valor en la columna (calculada como una cadena)</li><li>`random()`: muestra las filas en orden aleatorio.</li></ul>Estas funciones también admiten la inversión del orden. Por ejemplo, `orderBy=-geo_distance(location_column,42.37,-71.07)` muestra primero los elementos que están más lejos. |

<Warning>
  **Nota:** Cuando creas una consulta, los valores `range`, `distinct` `ndistinct` y `startswith` son palabras clave reservadas. Para consultar una propiedad que usa uno de esos nombres, deberás usar el siguiente formato: `range__eq=` (en lugar de `range=`).
</Warning>

## include\_default\_custom\_css

Esta función genera una etiqueta de enlace que hace referencia al [archivo CSS primario ](https://knowledge.hubspot.com/es/design-manager/create-edit-and-attach-css-files-to-style-your-site) (`default_custom_style.min.css`). Este archivo está diseñado para ser un archivo CSS global que se puede agregar a todas las plantillas. Para renderizar, la función requiere el valor de parámetro booleano `True`.

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

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

## index

Muestra la ubicación del primer elemento coincidente en una `serie` basada en 0.

Esta función acepta 3 parámetros y el primero es obligatorio. El primer parámetro es el elemento que estás tratando de encontrar en la `serie`. El segundo (`start`) y el tercero (`end`) permiten encontrar ese elemento en una porción de la `serie`.

<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

Coloca un elemento en una lista en el índice específico proporcionado.

Esta función acepta dos parámetros:

* **Index:** la posición en la que se va a insertar un elemento.
* **Element:** el elemento que se va a insertar.

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

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

## locale\_name

Muestra una representación comprensible para humanos de un código de idioma, opcionalmente traducida a un idioma de destino.

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

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

| Parámetro              | Tipo   | Descripción                                 |
| ---------------------- | ------ | ------------------------------------------- |
| `language_code`        | Cadena | El código de idioma.                        |
| `target_language_code` | Cadena | El idioma al que se traducirá el resultado. |

## load\_translations

Descarga las traducciones desde la ruta `_locales` de una carpeta determinada y muestra un mapa de los valores.

Obtén más información sobre la [inclusión de traducciones de los campos en los módulos y temas personalizados](/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 resultados renderizados.txt theme={null}
  123 Rue du Pont, Ville, Région, 12300
  ```
</CodeGroup>

| Parámetro                | Tipo   | Descripción                                                                                    |
| ------------------------ | ------ | ---------------------------------------------------------------------------------------------- |
| `path`                   | Cadena | La ruta de archivo al directorio \_locales de las traducciones.                                |
| `language_code`          | Cadena | El código de idioma.                                                                           |
| `language_code_fallback` | Cadena | El código de idioma alternativo si el parámetro `language_code` especificado no está presente. |

## menu

Muestra la estructura de enlaces anidados de un menú avanzado. Los nodos del menú tienen varias [propiedades](/cms/reference/hubl/variables#menu-node-variables) que se pueden utilizar en los objetos que salen en los resultados. Si pasas `null` a la función de menú, ésta devolverá una pylist vacía. También puedes especificar un menú por su nombre. En la mayoría de los casos es más seguro utilizar el ID del menú, ya que el cambio de nombre de un menú no afectará al ID. Si se diseña para el mercado es mejor establecer el parámetro `"default"` como opción predeterminada si no hay resultado para el menú, es decir `null`.

<Warning>
  **Nota:** esta función tiene un límite de 10 llamadas por página.
</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>
  Al utilizar la función `menu()` para generar un menú, [eres totalmente responsable de asegurarte de que tu menú sea accesible](/cms/best-practices/improve-existing-sites/accessibility).
</Tip>

| Parámetro   | Tipo        | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ----------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `menu_id`   | ID          | Obligatorio. El ID del menú convertido en un número.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `root_type` | Enumeración | Tipo de raíz del menú (`"site_root"`, `"top_parent"`, `"parent"`, `"page_name"` `"page_id"` `"breadcrumb"`). <ul><li>`"site_root"` indica elementos estáticos - Muestra siempre las páginas de nivel superior en el menú.</li><li>`"top_parent"` indica elementos dinámicos según la sección - Muestra páginas en el menú que están relacionadas con la sección que se está viendo. </li><li>`"parent"` indica elementos dinámicos según la página - Muestra páginas en el menú que están relacionadas con la página que se está viendo.</li><li>`"breadcrumb"` indica un menú que muestra la ruta de navegación (usa un flujo horizontal).</li></ul> |
| `root_key`  | Cadena      | Clave raíz (ID o nombre) cuando se utiliza `"page_name"` o `"page_id"`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

## module\_asset\_url

Obtiene la URL de un recurso enlazado a un módulo personalizado mediante **Archivos enlazados > Otros archivos**.

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

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

| Parámetro | Tipo   | Descripción            |
| --------- | ------ | ---------------------- |
| `name`    | Cadena | El nombre del recurso. |

## namespace

Crea un objeto namespace que puede contener atributos arbitrarios. Se puede iniciar desde un diccionario o con argumentos de palabras clave.

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

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

| Parámetro    | Tipo   | Descripción                                                              |
| ------------ | ------ | ------------------------------------------------------------------------ |
| `dictionary` | Mapa   | El diccionario con el que se va a iniciar.                               |
| `kwargs`     | Cadena | Argumentos de palabras clave que se pondrán en el diccionario namespace. |

## oembed

Muestra el diccionario de datos OEmbed para la solicitud especificada. Solo funciona con los correos electrónicos.

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

  ```text resultados renderizados.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>

| Parámetro | Tipo   | Descripción                                                             |
| --------- | ------ | ----------------------------------------------------------------------- |
| `request` | Cadena | Solicita el objeto, `{url: string, max_width: long, max_height: long}`. |

## personalization\_token

Muestra el valor de un contacto o de una propiedad relacionada con un contacto, o un valor predeterminado.

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

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

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

| Parámetro    | Tipo   | Descripción                                                                              |
| ------------ | ------ | ---------------------------------------------------------------------------------------- |
| `expression` | Cadena | Una expresión para el objeto y la propiedad que se renderiza.                            |
| `default`    | Cadena | Opcional. Un valor predeterminado que se utiliza si la expresión no ofrece ningún valor. |

## pop

Elimina el elemento del índice de la lista. También muestra el elemento eliminado si se imprime.

<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 resultados renderizados.txt theme={null}
  9 [2, 4, 6, 8, 10]
  ```
</CodeGroup>

## postal\_location

La función `postal_location` da como resultado el par de ubicación latitud/longitud de un código postal y un código de país determinados (restringido a EE. UU., CA y GB).

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

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

<Warning>
  **Nota:** esta función tiene un límite de 10 llamadas por página.
</Warning>

| Parámetro      | Tipo   | Descripción                                                                                                          |
| -------------- | ------ | -------------------------------------------------------------------------------------------------------------------- |
| `postal_code`  | Cadena | Código postal de la ubicación.                                                                                       |
| `country_code` | Cadena | Código de país para el código postal. Si no se proporciona, se intentará deducir el país a partir del código postal. |

## put

Da resultados similares a la [función update](#update), que actualiza un objeto dict con los elementos de otro objeto dict o de un elemento iterable de pares clave-valor, con la diferencia que `put` admite nombres de variables en objetos dicc.

<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 resultados renderizados.txt theme={null}
  {authorName=Tim Robinson, key=value}
  ```
</CodeGroup>

## range

Muestra una lista que contiene una progresión aritmética de números enteros. Con un parámetro, range mostrará una lista desde 0 hasta lo indicado en `value`, sin incluirlo. Con dos parámetros, el rango comenzará en el primer valor y se incrementará en 1 hasta el segundo `value`, sin incluirlo. El tercer parámetro especifica el incremento gradual. Todos los valores pueden ser negativos. Los rangos imposibles devolverán una lista vacía. Los rangos pueden generar un máximo de 1000 valores.

El rango se puede utilizar dentro de un [bucle "for"](/cms/reference/hubl/loops) para especificar el número de iteraciones que deben ejecutarse.

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

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

  ```text resultados renderizados.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

Esta función pone en cola un archivo CSS para renderizarlo en el elemento `head`. Todas las etiquetas `link` del CSS se agrupan y se muestran antes que cualquier etiqueta JavaScript. El código HubL se sustituye por una línea vacía y luego se agrega una etiqueta `link` a `{{ standard_header_includes }}`. Este método requiere una URL absoluta; se puede solicitar el contenido del CMS con una URL relativa conocida mediante el uso de la función `get_asset_url()`.

Para poner en cola un estilo inline para que se muestre con la etiqueta `head` mediante un elemento con la etiqueta `style`, utiliza la etiqueta `{% require_css %} and {% end_require_css %}` en su lugar con las etiquetas `style` y CSS.

El segundo parámetro es un diccionario de opciones para modificar la etiqueta generada. Admite el parámetro `async` (verdadero o falso) [una técnica descrita en web.dev](https://web.dev/articles/defer-non-critical-css#optimize) y cualquier otro par clave-valor se agregará como atributo HTML a la etiqueta de estilo.

<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.es/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.es/docs//cdn2.hubspot.net/hub/6333443/hub_generated/template_assets/39079350918/1608661506628/example.css"
  /></noscript>
  <!-- more html -->
  ```
</CodeGroup>

## require\_js

Especifica si un script debe ser puesto en cola para ser renderizado en el encabezado o en el pie de página (como opción por defecto). Especifica la ubicación del renderizado incluyendo el parámetro `head` o `footer`. El código HubL será sustituido por una línea vacía, y se incluirá en el *[encabezado o en el pie de página](/cms/start-building/building-blocks/templates/html-hubl-templates#header-and-footer-includes).*

Para poner en cola un script en línea para que se muestre en el pie de página a través de un elemento `script`, encierra las etiquetas `<script>` con las funciones `{% require_js %}` y `{% end_require_js %}`.

También puedes incluir opciones de renderizado adicionales en esta función. Se agregarán como atributos HTML en la etiqueta del script. Las opciones de renderización incluyen:

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

Convierte la URL de la imagen almacenada en el administrador en archivos a una URL que redimensionará la imagen si así se requiere. La función acepta un parámetro obligatorio y cinco opcionales. Se debe pasar al menos un parámetro opcional.

Requerido

* **URL:** cadena, la URL de una imagen alojada en HubSpot.

Opcionales

* **width:** número, la nueva anchura de la imagen en pixeles.
* **height:** número, la nueva altura de la imagen en pixeles.
* **length:** número, la nueva longitud del lado mayor, en pixeles.
* **upscale:** booleano, utiliza las dimensiones de la imagen redimensionada incluso si superan la imagen original (las imágenes pueden aparecer borrosas).
* **upsize:** booleano, muestra la imagen redimensionada aunque sea mayor que la original en bytes.

<Warning>
  **Nota:** las imágenes que son mayores a 4096 pixeles en altura o ancho <u>no se redimensionarán</u> automáticamente. En lugar de eso, tendrás que [cambiar el tamaño de la imagen manualmente](https://knowledge.hubspot.com/es/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 resultados renderizados.txt theme={null}
  http://your.hubspot.site/hubfs/img.jpg?length=300&name=img.jpg
  ```
</CodeGroup>

| Parámetro | Tipo        | Descripción                                                                                                                                                                       |
| --------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `url`     | Cadena      | URL de una imagen alojada en HubSpot.                                                                                                                                             |
| `width`   | Entero (px) | El nuevo ancho de la imagen, en pixeles.                                                                                                                                          |
| `height`  | Entero (px) | La nueva altura de la imagen, en pixeles.                                                                                                                                         |
| `length`  | Entero (px) | La nueva longitud del lado más largo, en pixeles.                                                                                                                                 |
| `upscale` | Booleano    | Utiliza las dimensiones de la imagen redimensionada incluso si superan la imagen original (las imágenes pueden aparecer borrosas). El valor por opción predeterminada es `false`. |
| `upsize`  | Booleano    | Muestra la imagen redimensionada aunque sea mayor que la original en bytes. El valor por opción predeterminada es `false`.                                                        |

## reverse

Invierte el orden de los elementos de una lista. No toma ningún parámetro. Para invertir un objeto o devolver un elemento iterable para repetir la lista a la inversa, utiliza [`|reverse`](/cms/reference/hubl/filters#reverse)

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

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

## set\_response\_code

Establece el código de respuesta como el código especificado. [404](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/404) es el único código admitido por ahora. Cuando se utiliza, la página mostrará un error `404`.

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

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

| Parámetro | Tipo   | Descripción                                                                         |
| --------- | ------ | ----------------------------------------------------------------------------------- |
| `code`    | Entero | el código de la respuesta del HTTP. Actualmente, `404` es el único código admitido. |

## super

Esta función imprime el contenido de la plantilla principal en una plantilla secundaria utilizando la etiqueta [extends](/cms/reference/hubl/overview#blocks-and-extends).

Por ejemplo, en el ejemplo de código de abajo, se ha creado una plantilla HTML básica con un bloque HubL llamado `sidebar` y se ha guardado como `parent.html`. Se creará un segundo archivo de plantilla que ampliará ese archivo principal. Normalmente, el valor de la etiqueta `<h3>` se imprimiría en el bloque de la barra lateral del HTML principal. Pero al usar `super`, el contenido del bloque de la barra lateral de la plantilla principal se combina con el contenido de la plantilla secundaria.

<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

Muestra el inicio del día de hoy (12:00am). Como alternativa, puedes agregar un parámetro para cambiar la zona horaria de la zona UTC predeterminada.

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

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

## to\_local\_time

Convierte una marca de tiempo UNIX a la hora local, con base en la configuración de los informes en HubSpot. A continuación, puedes aplicar un filtro datetimeformat para darle formato a la fecha.

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

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

| Parámetro | Tipo         | Descripción                                          |
| --------- | ------------ | ---------------------------------------------------- |
| `date`    | Fecha y hora | Marca de tiempo UNIX para convertir a la hora local. |

## topic\_cluster\_by\_content\_id

Devuelve un objeto dicc. de HubL que representa el grupo de temas asociado a un contenido (determinado por el ID del contenido que se proporcionó), e incluye los metadatos de la página pilar asociada, el tema central y los temas secundarios. Se puede usar para "enlazar automáticamente" un contenido con su página pilar asociada \[si existe].

Los metadatos disponibles se encuentran con las etiquetas: attachableContent (los metadatos del contenido actual), topic (los metadatos del tema asociado al contenido actual), coreTopic (los metadatos del tema central del conjunto asociado) y pillarPage (los metadatos de la página pilar asociada).

Utiliza `{{ topicCluster|pprint }}` para que se muestren todas las propiedades y atributos 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.es/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>
  **Nota:** esta función tiene un límite de 10 llamadas por página.
</Warning>

| Parámetro    | Tipo | Descripción                      |
| ------------ | ---- | -------------------------------- |
| `content_id` | ID   | El ID de la página que se busca. |

## truncate

La función de truncamiento actúa del mismo modo que el [filtro truncar](/cms/reference/hubl/filters#truncate) pero utiliza la sintaxis de una función en lugar de la de un filtro. El primer parámetro especifica la cadena. El segundo parámetro especifica el punto en el que se debe truncar. El último parámetro especifica los caracteres que se agregarán cuando se produzca el truncamiento.

<Warning>
  **Nota:** Debido a que esta función depende de los espacios entre las palabras para acortar las cadenas, es posible que no funcione como se espera con idiomas sin espacios entre caracteres, como el japonés.
</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 resultados renderizados.txt theme={null}
  string to truncate ... Lorem ipsum dolor sit amet, consectetur ...
  ```
</CodeGroup>

| Parámetro            | Tipo     | Descripción                                                                                         |
| -------------------- | -------- | --------------------------------------------------------------------------------------------------- |
| `string_to_truncate` | Cadena   | La cadena que se trunca.                                                                            |
| `length`             | Entero   | Especifica el punto en el que se debe truncar el texto (incluye los caracteres HTML).               |
| `killwords`          | Booleano | Si es verdadero, la cadena cortará el texto, independientemente de si está en medio de una palabra. |
| `end`                | Cadena   | Los caracteres que se agregarán para indicar dónde se ha truncado el texto.                         |

## type

Esta función acepta un argumento y muestra el tipo de objeto. El valor devuelto es uno de los siguientes: `"bool"`, `"datetime"`, `"dict"`, `"float"`, `"int"`, `"list"`, `"long"`, `"null"`, `"str"` o `"tuple"`.

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

  ```text resultados renderizados.txt theme={null}
  <p>str</p>
  ```
</CodeGroup>

## unixtimestamp

Esta función da como resultado una marca de tiempo UNIX cuando se proporciona un objeto datetime.

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

  ```text resultados renderizados.txt theme={null}
  1565983117868
  ```
</CodeGroup>

## update

Actualiza el objeto dict con los elementos de otro objeto dict o de un elemento iterable de pares clave-valor. Utiliza esta función para combinar o fusionar objetos.

<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 resultados renderizados.txt theme={null}
  {authorName=Douglas Judy, authorTitle=Mastermind, authorFriend=Jake,
  authorLocation=unknown}
  ```
</CodeGroup>
