Crear un listado de publicaciones de blog relacionados con la etiqueta HubL de entradas relacionadas de blog.

Last updated:

La etiqueta HubL related_blog_posts se puede usar para crear publicaciones de blog dinámicas y relacionadas basadas en una variedad de parámetros. Permite generar listados de publicaciones en todos los blogs, con la capacidad de filtrar por etiquetas, autores, rutas de publicación y fechas de publicación. Los desarrolladores también pueden especificar la salida HTML del módulo utilizando una macro. Esta etiqueta de HubL se puede usar tanto en publicaciones de blog como en páginas. Este tutorial recorrerá los parámetros y las opciones de uso para la etiqueta HubL de las publicaciones relacionadas con el blog.

Ten en cuenta que la etiqueta HubL related_blog_posts no genera un módulo editable a nivel de entrada/página, sino que está configurado en su totalidad con HubL.

Parámetros

La lista de publicaciones se genera a partir de una puntuación de relevancia basada en una comparación de los valores de los parámetros establecidos con las publicaciones que coinciden con estos parámetros o relacionadas con la publicación en la que aparece la etiqueta HubL. Ninguno de los parámetros son requeridos, sin embargo, especificar parámetros te permitirá controlar aún más qué publicaciones se devuelven. Para los parámetros separados por comas, cuantos más valores establezcas, más diverso será el listado devuelto. El parámetro post_formatter te permite especificar una macro para generar la salida HTML del módulo. Para obtener una lista completa de parámetros y un ejemplo de salida HTML predeterminada, consulta la especificación related_blog_posts.

Parámetros para la función de publicaciones de blog relacionadas
ParameterTypeDescription Default
limit
number

El número máximo de publicaciones de blog en la lista.

3
blog_ids
'default' or blog id

Los ID de un blog del cual incluir publicaciones.

none
tags
String

La(s) etiqueta(s) que debe(n) utilizarse para determinar si un post es relevante (separadas por comas). Si un post de blog tiene una de estas etiquetas o una similar, la relevancia del post aumenta, mejorando su clasificación en el listado.

none
blog_authors
String

Los nombres de los autores de los que se incluirán las publicaciones (separados por comas)

none
blog_post_ids
String

El(los) identificador(es) de un post de blog que se utilizará(n) cuando se busquen publicaciones de blog relevantes para la lista (separados por comas). Este parámetro solo debe usarse cuando el widget aparece en páginas, ya que en las publicaciones del blog, por opción predeterminada, será el post en la que aparece el widget.

none
post_formatter
String

El nombre de una macro personalizada para renderizar las publicaciones de blog devueltos. A la macro se le pasan tres parámetros que son el objeto de post de blog a formatear, el recuento en la iteración de publicaciones de blog, y el recuento total de posts de blog en los resultados. Si no se especifica o se establece como “default”, se utilizará el formateador incorporado para dar formato a cada post.

Nota: se recomienda usar el parámetro de devolución de llamada a continuación en lugar del parámetro ‘post_formatter’, ya que el HTML de la etiqueta se renderizará más rápidamente, disminuyendo los tiempos de carga de la página.

none
callback
String

El nombre de una función javascript para renderizar los posts de blog devueltos. A la función se le pasa una matriz de objetos de posts de blog para formatear. Si no se especifican los parámetros callback o post_formatter, la etiqueta generará HTML en un formato predeterminado.

none
path_prefixes
String

Rutas de URL o subdirectorios desde los que incluir los posts (separadas por comas). Si un post de blog tiene un prefijo similar en tu ruta, la relevancia del post aumenta, mejorando su clasificación en el listado.

none
start_date
date/time

Permite filtrar las entradas publicadas después de una fecha/hora.

none
end_date
Date/Time

Permite filtrar las entradas publicadas antes de una fecha/hora.

False
blog_post_override
String

El(los) ID de los posts de un blog que deben aparecer siempre en el listado devuelto, a pesar de todos los demás valores de parámetros y filtros (separados por comas).

none

Recomendamos encarecidamente usar el parámetro callback en lugar del parámetro post_formatter para garantizar tiempos de carga de página más rápidos.

Ten en cuenta que si la etiqueta HubL related_blog_posts se está utilizando en una publicación, no se debe especificar el parámetro blog_post_ids, ya que en las publicaciones del blog, por defecto será la publicación en la que aparece el widget.

A continuación, encontrarás algunos ejemplos de formas de usar esta etiqueta para mejorar tu sitio web.

Mostrar publicaciones de un autor específico en varios blogs

En este ejemplo, generamos una lista de publicaciones escritas por uno de los tres blog_authors especificados en dos blogs diferentes. 

{% related_blog_posts blog_ids="3241539189,3261083894", limit=6, blog_authors="John Smith,Joe Smith,Frank Smith" %}

Mostrar publicaciones con la etiqueta "habilitación de ventas", restringida a un marco de tiempo de fecha de publicación específico

En este ejemplo, generamos una lista de 10 publicaciones relacionadas con una publicación de blog específica, con la etiqueta "habilitación de ventas" y restringida a un marco de tiempo de fecha de publicación específico. Este ejemplo especifica el parámetro blog_post_ids, por lo que se usaría en una página.

{% related_blog_posts blog_post_ids="3267910554", limit=10, tags="sales enablement", start_date="2018-02-05", end_date="2018-06-10" %}

Mostrar entradas usando una devolución de llamada JS para controlar la salida HTML

En este ejemplo, generamos una lista de 5 publicaciones  utilizando el parámetro callback para controlar la salida HTML de la publicación. (En lugar del parámetro post_formatter usando una macro.)

{% related_blog_posts limit=5, callback="blog_post_formatter" %} <script> var blog_post_formatter = function(blogposts) { var formatted = "<div>"; for (var i = 0; i < blogposts.length; i++) { var blogpost = blogposts[i]; formatted += '<div class="related-blog-item">'; formatted += `<span>Related Post ${i + 1}/${blogposts.length}</span><br>`; formatted += `<a class="related-blog-title" href="${blogpost.url}"><span>${blogpost.name}</span></a>`; formatted += `<div class="hs-related-blog-byline">by <span class="related-blog-author">${blogpost.blogAuthor.fullName}</span><span class="related-blog-posted-at"> posted on </span><span class="related-blog-date">${new Date(blogpost.publishDate).toLocaleDateString()}</span></div>`; formatted += `<p class="related-blog-post-summary">${blogpost.postSummary}<a href="${blogpost.url}">Read more</a></p>`; formatted += '<div class="related-blog-tags">'; if (blogpost.tagList.length > 0) { formatted += `Tags: ${blogpost.tagList.map(tag => tag.label).join(", ")}`; } formatted += '</div>'; if (blogpost.featuredImage) { formatted += `<img src="${blogpost.featuredImage}" alt="${blogpost.featuredImageAltText}">`; } formatted += '</div>'; } formatted += '</div>'; return formatted; } </script>

¿Te resultó útil este artículo?
Con este formulario puedes enviar tu opinión sobre nuestros documentos para desarrolladores. Si tienes comentarios sobre el producto de HubSpot, puedes enviarlos al Foro de ideas.