Sitecore: синтаксис для sc:item

Я хочу создать что-то вроде этого

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


Но идентификатор будет определен после того, как пользователь выберет некоторые элементы. Каков правильный синтаксис для этого?

Я пробовал несколько:

<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;,.)" />


но не повезло, что все получилось правильно.

1 ответ

Я не уверен, чего вы здесь добиваетесь, но в вашем XSL вам нужно получить ID или путь к элементу (ам), с которым вы работаете, чтобы передать функции sc: item. Вы можете использовать, например, что-то вроде этого:

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

или вы можете использовать список элементов и перебирать их так:

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

РЕДАКТИРОВАТЬ:

Если вы хотите получить выбранные элементы из списка древовидных, вы можете выбрать несколько элементов, и идентификаторы будут объединены с символом канала. Вы можете использовать код, подобный этому, чтобы прочитать itemID и получить соответствующие элементы:

<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" /> внутри для каждого.

Другие вопросы по тегам