我對xsl並不是很熟悉,所以儘管如此,我還是有點磕磕絆絆。XSL使用Sitecore排序
我的xsl文件正在建立一個菜單。我正嘗試通過Sitecore中菜單標題字段中的值對菜單項進行排序。當我運行代碼時,它不排序。它只是四次寫出每個菜單項。
任何人都可以闡明我失蹤的東西嗎?
<xsl:template name="show-title">
<xsl:param name="root" />
<xsl:for-each select="$sc_currentitem/item">
<xsl:sort select="sc:fld('menu title',.)" order="ascending"/>
<xsl:choose>
<xsl:when test="sc:fld('menu title',$root)!=''">
<sc:text field="menu title" select="$root" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$root/@name" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
編輯:下面是數據,上面的代碼被生成 示例輸出:
- 03/05/201203/05/201203/05/201203/05/2012
- 03/01/201203/01/2012
- 03/08/201203/08/201203/08/201203/08/2012
- 03/02/201203/02/201203/02/201203/02/2012
- 03/07/201203/07/201203/07/201203/07/2012
我試圖讓它產生如下:
- 03/01/2012
- 03/02/2012
- 03/05/2012
- 03/07/2012
- 03/08/2012
謝謝!
樣品輸入XML,也作爲此模板被調用將真正幫助 – Kevan 2012-03-01 20:21:46
這是我的問題的一部分內容。我不確定我在處理什麼。我基本上只是想弄清楚如何排序日期('菜單標題')。當我嘗試將sc_currentitem/item添加到for-each標籤時,它會導致數據出現多次,每個菜單項。日期應該只出現一次而不是重複。 – crjunk 2012-03-01 20:45:23