我有一个供个人使用的 Umbraco 网站,我也想将其用作博客。
我试图将 XSLT 放在一起以从博客树中的节点(节点 id = 1063)中获取前三个帖子,并将它们显示在合并到首页的标签页上。
下图说明了节点层次结构:
由于我对 XSLT 的了解极其有限,我无法获取“博客”ID 的节点 ID 并在其下方的 3 页显示在我网站的“热门帖子”部分,该部分位于“首页选项卡”下“节点。我发现的所有示例都适用于“当前页面”,它通常是顶级节点“个人网站”。
我应该如何做到这一点?
编辑
已发布页面上呈现的输出实际上是空白的(即使在重新发布整个站点之后),但在后台富文本编辑器中显示的“热门帖子”选项卡内容的预览显示正确。
我正在使用的 XSLT 如下所示:
<xsl:template match="/">
<ul>
<xsl:for-each select="umbraco.library:GetXmlNodeById(1063)/umbBlogPost [@isDoc]">
<li><a href="{umbraco.library:NiceUrl(@id)}"><xsl:value-of select="@nodeName"/></a></li>
</xsl:for-each>
</ul>
</xsl:template>
选项卡的富文本编辑器中显示的 HTML 如下所示:
<div umb_macroalias="Dn.BlogListTopThreePosts" ismacro="true" onresizestart="return false;" umbversionid="cb1efb8d-f58c-424b-9c12-df14ac5652d9" umbpageid="1115" title="This is rendered content from macro" class="umbMacroHolder"><!-- startUmbMacro -->
<ul>
<li><a href="/blog/test-post.aspx">Test Post</a></li>
</ul>
<!-- endUmbMacro --></div>
从数据库中检索 XML 后,我将再次更新这篇文章(如果有帮助的话)。问题不在于实际数据,因为它是已发布页面和后端之间的断开连接。