2012-12-28 20 views
1

我正在創建一個下載宏,我正在通過選擇媒體文件夾來上傳到媒體文件夾。Umbraco XSLT列表按最新版本的值

我已經創建了一個媒體類型資產,它具有潛在的子節點資產版本。

我可以創建儘可能多的資產版本,但我只希望在我的下載宏中顯示最新的資產版本。我爲我的資產版本versionNumber添加了一個標籤,該標籤添加了在同一資產中創建的數字值。

例如

  • 資產
    • 資產版 - VERSIONNUMBER = 1
    • 資產版 - VERSIONNUMBER = 2
    • 資產版 - VERSIONNUMBER = 3

目前,這僅列出的資產版本版本號= 1:

<xsl:for-each select="$files/Asset/AssetVersion[@nodeTypeAlias = 'AssetVersion' and versionNumber= '1']"> 
    <xsl:sort select="./versionNumber" data-type="number" order="descending"/> 
    <xsl:call-template name="Documents" /> 
</xsl:for-each> 

我只希望最新的資產版本顯示在我的列表中,並且只顯示該版本。

我的下載宏可以列出多個資產,但應該只顯示一個AssetVersion。

例如 下載宏

  • 資產1
    • 資產1 - 資產版 - VERSIONNUMBER = 3
  • 資產2
    • 資產2 - 資產版 - VERSIONNUMBER = 1
  • 資產3
    • 資產3 - 資產版本 - VERSIONNUMBER = 6

任何人可以幫助?

乾杯合資

回答

1

使用

<xsl:for-each select="$files/Asset"> 
    <!-- output here the Asset number /id --> 
    <xsl:for-each select="AssetVersion[@nodeTypeAlias = 'AssetVersion']"> 
    <xsl:sort select="versionNumber" data-type="number" order="descending"/> 

    <xsl:if test="position()=1"> 
     <xsl:call-template name="Documents" /> 
    </xsl:if> 
    </xsl:for-each> 
</xsl:for-each> 
+0

感謝@ dimitre-novatchev但將只顯示每下載一個宏觀的結果,我做了和編輯我的問題。我的下載宏可以列出多個資產,但每個資產只應顯示一個AssetVersion。 – JV10

+0

@ JV10,看到我更新的答案。請注意,沒有提供任何源XML文檔,也沒有提供確切的想要的結果,這只是一個猜測。 –

+0

謝謝@ dimitre-novatchev你已經擊中了頭部!非常感動。不勝感激! – JV10