如何将图像标题添加到sc:图像扩展元素

时间:2010-11-15 18:32:19

标签: sitecore sitecore6

我希望能够为使用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但没有成功。我的假设是关于如何离开基地的方式?在此先感谢,非常感谢您的帮助!

2 个答案:

答案 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>

你不应该这只是一个建议,我没有测试过。