2013-05-21 57 views
1

我有一個文件夾,並鏈接頁面內CMS一把umbraco - XSL後裔

-FirstPage 
    +folder 
    -page 
    -page 
    -folder 
    -link1 
    -link2 
    -link3 
    -page 

我想達到的鏈接1,鏈接2,LINK3樹。我目前的頁面是FirstPage。 我該怎麼做? 這是我寫的XSL和他給我的頂層文件夾

<xsl:template match="/"> 
<xsl:for-each select="$currentPage/descendant-or-self::* [@isDoc][@level=2]"> 
<xsl:if test="count(current()/descendant::* [@isDoc]) &gt; 0"> 
<xsl:variable name="descendantPage" select="current()/descendant::* [@isDoc]"/> 
<xsl:value-of select="$descendantPage/text"/> 
</xsl:if> 
</xsl:for-each> 
</xsl:template> 

謝謝你的幫助的第一個環節。

編輯:新的XSL我使用...

<xsl:variable name="fId" select="number(1395)" /> 
<xsl:variable name="linksFolder" select="$currentPage/descendant-or-self::* [@isDoc][@level=2][@id='$fId']"> 
<xsl:template match="/"> 
    <xsl:for-each select="$linksFolder/* [@isDoc]"> 
    <xsl:value-of select="./text"> 
    </xsl:for-each> 
</xsl:template> 

如何避免使用輸出(如文件夾的ID)來獲得我想要的文件夾? 感謝您的幫助...

+0

這要看,有沒有永遠只一個鏈接文件夾中,也可以存在潛在地鏈接多個文件夾? – Tim

+0

您好Tim, 對於第一頁,這將是鏈接的唯一文件夾。但是說樹內的頁面可以有不同的鏈接文件夾。 我很樂意學習你正在考慮的兩種方法。 – Benjamin

回答

0

有很多有用的提示&在Umbraco WikiBook在線(http://en.wikibooks.org/wiki/Umbraco/Various_useful_XSLT_methods_in_Umbraco)的技巧。您可以使用文件夾節點的文檔類型來查找鏈接(而不是id)。

例如循環圓了一定的文檔類型(linkFolderDocType)的所有節點:

<xsl:for-each select="$currentPage/ancestor-or-self::root//node [@nodeTypeAlias='linkFolderDocType']"> 
    <xsl:value-of select="./text"> 
</xsl:for-each> 
+0

感謝您的回答。順便說一句,在我的xslt版本**。/ node **不起作用,我需要編寫**。/ * [@isDoc] **。而docType將無法幫助,因爲我在樹的這個級別有多個文件夾和doctype。 – Benjamin