Estilo de item XSL - mostrando o link Leia mais quando o conteúdo é cortado
-
29-09-2020 - |
Pergunta
Consegui criar um modelo ItemStyle para meu CQWP.Ele extrai vários anúncios.Defini o limite de caracteres para 400 e coloquei um link no final onde o usuário pode clicar para ver o anúncio completo.No entanto, isso é exibido em todos os anúncios, independentemente da duração.
Como posso configurá-lo para onde o link apenas mostra quando o anúncio está cortado/mais de 400 caracteres?
Aqui está meu XSL:
<table>
<tr><td>
<xsl:variable name="SafeLinkUrl">
<xsl:call-template name="OuterTemplate.GetSafeLink">
<xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
</xsl:call-template>
</xsl:variable>
<h3><a href="{$SafeLinkUrl}"><xsl:value-of select="@MyTitle"/></a></h3>
</td></tr>
<tr><td>
<xsl:variable name="SafeLinkUrl">
<xsl:call-template name="OuterTemplate.GetSafeLink">
<xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of disable-output-escaping="yes" select="substring(@MyDesc,1,400)" /> - <a href="{$SafeLinkUrl}">[Full Announcement]</a><br /></td></tr>
<tr>
<td>
</td>
</tr>
</table>
Solução
Você gostaria de envolver isso em um if, algo como isto:
<xsl:if test="string-length(@MyDesc) > 400">
<xsl:value-of disable-output-escaping="yes" select="substring(@MyDesc,1,400)" /> - <a href="{$SafeLinkUrl}">[Full Announcement]</a><br />
</xsl:if>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange