2013-02-06 71 views
0

我想这样
Sitecore的:语法SC:项目

<xsl:variable name="content" select="sc:item('{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}',.)" /> 


创造的东西,但是用户已经选择了一些项目后,将确定的ID。那么,正确的语法是什么呢?

我尝试了好几种:

<xsl:variable name="content"><xsl:value-of select="bla bla bla" /> </xsl:variable> 
<xsl:variable name="content" select="sc:item(&lt;value-of select="bla bla bla" &gt;,.)" /> 


但没有得到正确的运气。

+0

用户选择的是什么,我认为这是来自网站,而不是来自CMS界面内?像单选按钮或选择列表?我敢肯定有人会知道如何,我个人只会使用ascx和使用简单的C#代码... – jammykam

+0

@jammykam:你有没有任何参考在ascx和c#代码中做到这一点? – WenHao

+0

您使用哪种字段让用户选择某些项目? –

回答

1

我不知道你正试图在这里实现的目标,但在你的XSL,你需要得到你正在使用的项目(S)的ID或路径传递到SC:项目功能。 你可以使用例如这样的事情:

<xsl:variable name="content" select="sc:item($sc_currentitem/@id,.)" /> 

,或者你可以使用的物品和循环列表通过他们这样的:

<xsl:for-each select="$itemList/item"> 
    <xsl:value-of select="@id" /> 
</xsl:for-each> 

编辑:

如果你想获得

从Treelist中选择的项目,您可以选择多个项目,并将ID与管道字符连接。你可以用这样的代码来读取itemIDs并获得相应的物品:

<xsl:for-each select="sc:Split('FieldName',$sc_currentitem)"> 
    <xsl:variable name="item" select="sc:item(text(), $sc_currentitem)" /> 
    <xsl:value-of select="$item/@name" /><br />  
</xsl:for-each> 

这部分只显示该项目的名称,但当然,你可以做任何你想做的事情。

如果仍然不能正常工作,请尝试使用<xsl:value-of select="@id" />内部的for-each输出一些值,如所选项目的ID屏幕。

+0

其实我想比较2个ID。 首先,我需要找到用户选择的项目(在treeview中,原始值)。 然后,我想使用原始值在内容树中搜索项目。 – WenHao

+0

看到我上面的编辑。 –

+0

当你说的用户,你的意思是内容编辑器或网站的匿名用户,这不是很清楚,我(但马亭的回答会做第一) – jammykam