2013-04-25 80 views
0

例如,我可以訪問在Sitecore中創建的配置文件,並且可以獲取它的名稱。Sitecore:無法獲取多列表項目中的所有值

(Sitecore的)設置>檔案> UserTypes>娛樂執行> AR執行

<xsl:variable name="ARExec" select="$UserTypes/item[3]/item[1]"/> 

上面的代碼將打印出AR執行

現在AR執行的內部我有一個多名單命名相關類型類型,裏面是:

  • 音樂
  • 喜劇
  • 電視

我一直努力遵循這裏的例子: 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)"/> &amp; 

    </xsl:if> 

    <xsl:call-template name="PrintTitles"> 
     <xsl:with-param name="ids" select="substring-after($ids, '|')"/> 
    </xsl:call-template> 
    </xsl:if> 
</xsl:template> 

^打印出{id號...}音樂&

Sitecore editor

我如何通過我的多重表圈抓住並打印出所有3個項目?

回答

0

我不得不爲目標的多重表項目的所有者不同,我不得不使用@key那麼example code工作目標是:

<xsl:variable name="ExecUser" select="$UserTypes/item[@key='entertainment executive']" /> 
1

從我的頭頂,你需要像下面這樣:

<xsl:variable name="item" select="$usertypes/item[3]/item[1]" /> 

<xsl:for-each select="sc:Split('related genre types', $item)> 
    <xsl:variable name="fielditem" select="sc:item(.,.)"/> 
    <sc:text field="title" select="$fielditem]/> 
</xsl:for-each> 

我道歉的格式,我我的手機上。

[編輯]
在拆分功能我們並不需要調用SC:FLD()。

+0

嗯,我得到一個「XSL文件無法處理」錯誤現在,我開始從頭開始,看看我是否可以重做這個,謝謝花點時間看看這個! – 2013-04-25 18:46:38

+0

噢,我想我想通了,不得不使用一個鍵來定位'配置文件'我試圖獲得多元列表: 2013-04-25 20:44:46

+1

我知道你已經知道了 - 儘管我確實修復了XSLT代碼。最後一件事:如果您遇到錯誤「Xsl文件無法處理」,您通常可以單擊感嘆號來顯示有關錯誤的更多詳細信息。 – Trayek 2013-04-26 08:07:41

相關問題