Я создаю макрос, который получает свойство от текущего члена. Свойство использует тип данных «несколько текстовых строк», и каждая текстовая строка содержит идентификатор носителя, номер версии, дату и время добавления.
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="/">
<xsl:if test="count(umbraco.library:GetCurrentMember()/assetDownloads/values/value) > 0">
<ul>
<xsl:for-each select="umbraco.library:GetCurrentMember()/assetDownloads/values/value">
<li>
<xsl:if test="./preview != ''">
<img>
<xsl:attribute name="src">
<xsl:value-of select="./preview" />
</xsl:attribute>
</img>
</xsl:if>
<p><xsl:value-of select="current()"/></p>
</li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:template>
Это приводит к следующему:
1475,1,28-дек-12 01:26:45
1475,1,28-дек-12 01:27:03
Первые значения — это идентификатор типа носителя, второе значение — номер его версии, а третье значение — дата и время загрузки.
Как я могу отделить строку, чтобы отображать детали из типа носителя? Я хотел бы отобразить изображение предварительного просмотра из типа мультимедиа и nodeName типа мультимедиа.
Может ли кто-нибудь помочь мне с этим?
Ура, СП
Вот как отобразить первое значение в качестве предварительного изображения и имени узла:
<!-- First value as preview image and nodeName -->
<xsl:if test="position() = 1">
<img>
<xsl:attribute name="src">
<xsl:value-of select="umbraco.library:GetMedia(., 0)/preview" />
</xsl:attribute>
</img>
<p><xsl:value-of select="umbraco.library:GetMedia(., 0)/@nodeName" /></p>
</xsl:if>