例如,我可以访问在 Sitecore 中创建的配置文件,并且可以获取它的名称。
(Sitecore) 设置 > 个人资料 > 用户类型 > 娱乐主管 > AR 主管
<xsl:variable name="ARExec" select="$UserTypes/item[3]/item[1]"/>
上面的代码会打印出AR Executive
现在在AR Executive内部,我有一个名为 Related Genre Types的多列表,其中包括:
- 音乐
- 喜剧
- 电视
我一直在尝试在这里遵循这个例子:http: //sdn.sitecore.net/Articles/XSL/Accessing%20Field%20Values/Multilist.aspx
但是我无法重现结果,我希望能够获取并列出所有 3 个名称,但它只能让我抓取第一项音乐。我试图弄清楚如何遍历 Multilist 中的项目并将它们全部显示出来。
<xsl:template match="*" mode="main">
....
<xsl:variable name="ARExec" select="$UserTypes/item[3]/item[1]"/>
<lable><xsl:value-of select="sc:fld('Related Genre Types', $ARExec)"/></lable>
<xsl:variable name="ids" select="concat(sc:fld('Related Genre Types',$ARExec),'|')"/>
<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,.)"/>
<xsl:value-of select="sc:fld('Title', $itm)"/> &
</xsl:if>
<xsl:call-template name="PrintTitles">
<xsl:with-param name="ids" select="substring-after($ids, '|')"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
^ 打印出 {id number...}Music &
如何循环遍历我的 Multilist 以获取并打印出所有 3 个项目?