Letzte Änderung: 22. August 2025
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.
ParameterTypeDescriptionDefault
limitnumberDie maximale Anzahl an aufzulistenden Blog-Beiträgen3
blog_ids’default’ or blog idDie ID(s) eines Blogs, von dem Beiträge berücksichtigt werden sollen.none
tagsStringDas/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_authorsStringDie Namen der Autoren, von denen Beiträge aufgenommen werden sollen (durch Komma getrennt)none
blog_post_idsStringDie 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_formatterStringDer 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
callbackStringDer 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_prefixesStringURL-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_datedate/timeErmöglicht das Filtern von Beiträgen, die nach einem Datum/einer Uhrzeit veröffentlicht wurden.none
end_dateDate/TimeErmöglicht das Filtern von Beiträgen, die vor einem Datum/einer Uhrzeit veröffentlicht wurden.False
blog_post_overrideStringDie 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="https://developers.hubspot.de/docs${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="https://developers.hubspot.de/docs${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>