umbracoでこれよりIDリストに基づいてノードを反復するより直接的な方法はありますか?umbracoのidでノードのセットを選択する
$currentPage/ancestor-or-self::root/descendant::node[contains($idList, @id)]
私は興味があります。 currentPageノードからツリーをトラバースして、ルートを見つけて戻ってくるようにするのは大変です。
umbracoでこれよりIDリストに基づいてノードを反復するより直接的な方法はありますか?umbracoのidでノードのセットを選択する
$currentPage/ancestor-or-self::root/descendant::node[contains($idList, @id)]
私は興味があります。 currentPageノードからツリーをトラバースして、ルートを見つけて戻ってくるようにするのは大変です。
ノードの祖先IDのcsvリストを含む@path属性を使用できます。それから最初のものか、どちらかが関心のあるものをつかんでください。
@levelを使用して、ツリー内の特定の深さにある祖先のノードを選択することもできます。
現時点では自分のコンピュータの前に、私がいるときに詳細が更新されることはありません。
関心のあるノードでxsl:キーを定義し、key()関数を使用してそれらを取得する方がより効率的で簡単です。
<xsl:key name="node-ids" match="node" use="id"/>
<!-- put the "at" sign in front of "id",
a blockquote is generated when I try it -->
<xsl:for-each select="$currentPage">
<xsl:apply-templates select="key('node-by-id', $idList)"/>
</xsl:for-each>
参照:key() function (spec) 2番目の引数がnode-set型である可能性があることに注意してください。 $ idListがカンマで区切られた文字列の場合は、node-setに変更することができます。