個人用のUmbracoサイトがあり、ブログとしても使用したいと思っています。
XSLTをまとめて、ブログツリー(ノードID = 1063)のノードから上位3つの投稿を取得し、フロントページに組み込まれているタブページに表示しようとしています。
次の画像は、ノード階層を示しています。
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を取得したら、この投稿を再度更新します(それが役立つ場合)。問題は、公開されたページとバックエンドの間の切断であるため、実際のデータではありません。