Erstellen eines Listings für verwandte Blog-Beiträge mit dem related_blog_posts-HubL-Tag.

Last updated:

Das related_blog_posts-HubL-Tag kann verwendet werden, um dynamische Listings für verwandte Blog-Beiträge basierend auf einer Vielzahl von Parametern zu erstellen. Es ermöglicht die Erstellung von Listings von Beiträgen über Blogs hinweg, mit der Möglichkeit, nach Tags, Autoren, Beitragspfaden und Veröffentlichungsdaten zu filtern. Entwickler können auch die HTML-Ausgabe des Moduls mithilfe eines Makros angeben. Dieses HubL-Tag kann sowohl für Blog-Beiträge als auch für Seiten verwendet werden. In diesem Tutorial werden die Parameter und Nutzungsoptionen für das HubL-Tag für verwandte Blog-Beiträge erläutert.

Bitte beachten Sie, dass das related_blog_posts-HubL-Tag kein bearbeitbares Modul auf der Beitrags-/Seitenebene generiert. Es ist in seiner Gesamtheit mit HubL konfiguriert.

Parameter

Die Liste der Beiträge wird anhand einer Relevanzbewertung generiert, die auf einem Vergleich der festgelegten Parameterwerte mit Beiträgen basiert, die diesen Parametern entsprechen, oder sich auf den Beitrag bezieht, auf dem das HubL-Tag angezeigt wird. Keiner der Parameter ist erforderlich. Wenn Sie jedoch Parameter angeben, können Sie weiter steuern, welche Beiträge zurückgegeben werden. Für kommagetrennte Parameter gilt: Je mehr Werte Sie festlegen, desto vielfältiger ist das zurückgegebene Listing. Mit dem post_formatter-Parameter können Sie ein Makro angeben, um die HTML-Ausgabe des Moduls zu generieren. Eine vollständige Liste der Parameter und ein Beispiel für die Standard-HTML-Ausgabe finden Sie in der related_blog_posts-Spezifikation.

Parameter für die related_blog_posts-Funktion
ParameterTypeDescription Default
limit
number

Die maximale Anzahl an aufzulistenden Blog-Beiträgen

3
blog_ids
'default' or blog id

Die ID(s) eines Blogs, von dem Beiträge berücksichtigt werden sollen.

none
tags
String

Das/die Tag(s), das/die verwendet werden soll(en), um festzustellen, ob ein Beitrag relevant ist (durch Komma getrennt). Wenn ein Blog-Beitrag eines dieser Tags oder ein ähnliches Tag enthält, werden die Relevanz des Beitrags erhöht und damit sein Ranking im Listing verbessert.

none
blog_authors
String

Die Namen der Autoren, von denen Beiträge aufgenommen werden sollen (durch Komma getrennt)

none
blog_post_ids
String

Die ID(s) eines oder mehrerer Blog-Beiträge, die bei der Suche nach verwandten Blog-Beiträgen für das Listing verwendet werden soll(en) (durch Komma getrennt). Dieser Parameter sollte nur verwendet werden, wenn das Widget auf Seiten angezeigt wird, da es bei Blog-Beiträgen standardmäßig auf den Beitrag angewendet wird, in dem das Widget angezeigt wird.

none
post_formatter
String

Der Name eines benutzerdefinierten Makros zum Rendern zurückgegebener Blog-Beiträge. Dem Makro werden drei Parameter übergeben, nämlich das zu formatierende Blog-Beitragsobjekt, die Anzahl der Blog-Beiträge in der Iteration und die Gesamtzahl der Blog-Beiträge in den Ergebnissen. Wenn nicht angegeben oder auf „Standard“ gesetzt, wird der integrierte Formatierer verwendet, um jeden Beitrag zu formatieren.

Hinweis: Es wird empfohlen, den folgenden Callback-Parameter anstelle des post_formatter-Parameters zu verwenden, da der HTML-Code des Tags schneller gerendert wird, wodurch die Seitenladezeiten verringert werden.

none
callback
String

Der Name einer JavaScript-Funktion, um zurückgegebene Blog-Beiträge darzustellen. Der Funktion wird ein Array von Blog-Beitragsobjekten übergeben, die formatiert werden sollen. Wenn weder der callback- noch der post_formatter-Parameter angegeben sind, erzeugt das Tag HTML in einem Standardformat.

none
path_prefixes
String

URL-Pfade oder Unterverzeichnisse, aus denen Beiträge aufgenommen werden sollen (durch Komma getrennt). Wenn ein Blog-Beitrag ein ähnliches Präfix in seinem Pfad hat, werden die Relevanz des Beitrags erhöht und damit sein Ranking im Listing verbessert.

none
start_date
date/time

Ermöglicht das Filtern von Beiträgen, die nach einem Datum/einer Uhrzeit veröffentlicht wurden.

none
end_date
Date/Time

Ermöglicht das Filtern von Beiträgen, die vor einem Datum/einer Uhrzeit veröffentlicht wurden.

False
blog_post_override
String

Die ID(s) eines oder mehrerer Blog-Beiträge, die trotz aller anderen Parameterwerte und Filter immer in dem zurückgegebenen Listing erscheinen soll(en) (durch Komma getrennt).

none

Wir empfehlen dringend, den callback-Parameter anstelle des post_formatter-Parameters zu verwenden, um schnellere Seitenladezeiten zu gewährleisten.

Bitte beachten Sie, dass bei Verwendung des related_blog_posts-HubL-Tags in einem Beitrag der blog_post_ids-Parameter nicht angegeben werden sollte, da er in Blog-Beiträgen standardmäßig in dem Beitrag verwendet wird, in dem das Widget angezeigt wird.

Unten finden Sie einige Beispiele, wie Sie dieses Tag verwenden können, um Ihre Website zu verbessern.

Beiträge von einem bestimmten Autor über mehrere Blogs hinweg anzeigen

In diesem Beispiel erstellen wir ein Listing von Beiträgen, die von einem der drei angegebenen blog_authors in zwei verschiedenen Blogs verfasst wurden. 

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

Beiträge mit dem Tag "sales enablement" anzeigen, beschränkt auf ein bestimmtes Zeitfenster hinsichtlich des Veröffentlichungsdatums

In diesem Beispiel erstellen wir eine Liste mit 10 Beiträgen, die mit einem bestimmten Blog-Beitrag in Verbindung stehen, mit dem Tag "sales enablement" und beschränken sich auf einen bestimmten Veröffentlichungszeitraum. Dieses Beispiel gibt den blog_post_ids-Parameter an, sodass er auf einer Seite verwendet wird.

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

Beiträge mithilfe eines JS-Rückrufs anzeigen, um die HTML-Ausgabe zu steuern

In diesem Beispiel generieren wir ein Listing von 5 Beiträgen mithilfe des callback-Parameters, um die HTML-Ausgabe des Beitrags-Listings zu steuern. (Anstelle des post_formatter-Parameters wird ein Makro verwendet.)

{% 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>

War dieser Artikel hilfreich?
Dieses Formular dient dazu, Feedback zu unserer Entwicklerdokumentation zu sammeln. Wenn Sie uns Ihre Meinung zu HubSpot-Produkten mitteilen möchten, teilen Sie diese bitte im Ideenforum der Community.