2009-06-12 5 views
0

umbracoでこれよりIDリストに基づいてノードを反復するより直接的な方法はありますか?umbracoのidでノードのセットを選択する

$currentPage/ancestor-or-self::root/descendant::node[contains($idList, @id)] 

私は興味があります。 currentPageノードからツリーをトラバースして、ルートを見つけて戻ってくるようにするのは大変です。

答えて

0

ノードの祖先IDのcsvリストを含む@path属性を使用できます。それから最初のものか、どちらかが関心のあるものをつかんでください。

@levelを使用して、ツリー内の特定の深さにある祖先のノードを選択することもできます。

現時点では自分のコンピュータの前に、私がいるときに詳細が更新されることはありません。

0

関心のあるノードで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に変更することができます。

関連する問題