我对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