左截面菜单 - Sitecore中的Retraive项目

时间:2011-03-15 14:22:10

标签: sitecore

我有以下XSLT部分菜单代码,它可以正常检索项目。但我想用项目名称替换项目查询如何?

 <!--<xsl:if test="contains($EnabledTemplates, concat('!', @template, '!')) ">-->
    <xsl:for-each select="$root/item[contains($EnabledTemplates, concat('!', @template, '!'))]">
      <xsl:sort select="@sortorder" data-type="number" />
      <xsl:variable name="IsHaveChild" select="boolean(./item)" />
      <xsl:variable name="IsSelected" select="boolean(./descendant-or-self::item[@id=$sc_currentitem/@id])" />
      <xsl:variable name="IsShow" select="boolean(sc:fld($IsHideFieldName,.)!=1)" />
      <xsl:variable name="IsCurrent" select="boolean(@id=$sc_currentitem/@id)" />
      <sc:sec />

2 个答案:

答案 0 :(得分:1)

您想按名称过滤项目吗?

尝试这样的事情:

[contains(@name, 'some text')]

答案 1 :(得分:0)

对于您的查询,您可以选择 XPath Sitecore查询。后者是XPath的Sitecore实现,它更易读,允许您使用项目名称而不是XPath语法。

但是,Sitecore查询不能直接放在XSL元素的select属性中,它只适用于Sitecore XSL帮助函数,例如sc:item(请不要使用.中的sc:item .函数指定需要应用查询的上下文项,<!-- using XPath --> <xsl:value-of select="/item[@key='sitecore']/item[@key='content']" /> <!-- using Sitecore query --> <xsl:value-of select="sc:item('/sitecore/content', .)" /> 代表当前项。)

{{1}}