我希望能够为使用XSLT创建的图像添加“Title”变量。具体来说,我正在使用名为“Teasers.xslt”的文件,它是Sitecore6入门套件的一部分。每个标题的文本都是Sitecore内容编辑器中维护的“Teaser Abstract”。
我的理解是我可以在“showteaser”xsl模板中添加一个新变量,可以按如下方式查询Teaser Abstract:
<xsl:variable name="title" select="sc:item(sc:fld('teaser abstract',.),.)" />
如果这是正确的,是否可以将此新标题变量添加为图像的属性?下面是“showteaser”(来自Teasers.xslt)的完整xsl模板,我想在其中插入新的title属性:
<xsl:template name="showteaser">
<xsl:param name="teaser_item" />
<xsl:variable name="teaser" select="sc:item($teaser_item,.)" />
<xsl:variable name="teaser_link" select="sc:item(sc:fld('teaser link',.),.)" />
<sc:link field="teaser link" select="$teaser">
<sc:image field="teaser image" select="$teaser" class="photo-border" w="200" h="100" as="1" bc="white" />
</sc:link>
<h2>
<sc:link field="teaser link" select="$teaser">
<sc:text field="teaser title" select="$teaser" />
</sc:link>
</h2>
<p>
<sc:memo field="teaser abstract" select="$teaser" />
</p>
<div class="read-more-link">
<sc:link field="teaser link" select="$teaser">
<sc:text field="text" select="$readmore" />
</sc:link>
</div>
</xsl:template>
我尝试将标题作为变量添加到sc:link
但没有成功。我的假设是关于如何离开基地的方式?在此先感谢,非常感谢您的帮助!
答案 0 :(得分:1)
您现在可能已经解决了问题,但为了未来用户的利益:
您似乎必须将标题属性置于 -tag中。 您可以使用属性值模板来实现。也就是说,将表达式放在卷曲的支持中:
<sc:image field="teaser image" select="$teaser" class="photo-border" w="200" h="100" as="1" bc="white" title="{sc:fld('teaser abstract',.)}" />
答案 1 :(得分:0)
你能用这样的东西:
<sc:link field="teaser link" select="$teaser">
<sc:image field="teaser image" select="$teaser" class="photo-border" w="200" h="100" as="1" bc="white" >
<xsl:attribute name="title">
<xsl:value-of select="sc:fld('teaser abstract',.)" />
</xsl:attribute>
</sc:image>
</sc:link>
你不应该这只是一个建议,我没有测试过。