从Multilist Sitecore中的GUID检索项目名称

时间:2014-04-24 05:55:30

标签: xslt sitecore

<xsl:template match="*"> 
<xsl:variable name="ids" select="concat(sc:fld('MyMultilist',.)'|')"/> 
<xsl:call-template name="PrintTitles">   
<xsl:with-param name="ids" select="$ids"/> 
</xsl:call-template>
</xsl:template>
<xsl:template name="PrintTitles">  
<xsl:param name="ids"/>  
<xsl:if test="$ids">    
<xsl:variable name="itm_id" select="substring-before($ids, '|')"/>    
<xsl:if test="$itm_id">      
<xsl:variable name="itm" select="sc:item($itm_id,.)"/>      
value : <xsl:value-of select="sc:fld('title', $itm)" br/>
</xsl:if>    
<xsl:call-template name="PrintTitles">      
<xsl:with-param name="ids" select="substring-after($ids, '|')"/>    
</xsl:call-template>  
</xsl:if>
</xsl:template>
</xsl:stylesheet>

我们能够从上面的代码中解除项目的GUID,但无法打印多列表中特定所选项目的标题(项目名称)。在以下代码行中尝试按GUID检索所选项目的名称。

value : <xsl:value-of select="sc:fld('title', $itm)" br/>

请帮助。

1 个答案:

答案 0 :(得分:0)

您使用sc:item XSL扩展程序获得了一个项目。只需从中获取项目名称:

<xsl:value-of select="sc:item($itm_id, .)/@name" />