Style d'article XSL - Affichage En savoir plus Link lorsque le contenu est coupé
-
29-09-2020 - |
Question
J'ai réussi à créer un modèle d'itemStyle pour mon CQWP.Il tire de diverses annonces.J'ai défini la limite de caractères à 400 et placé un lien à la fin où un utilisateur peut cliquer pour afficher l'annonce complète.Cependant, cela s'affiche sur toutes les annonces, quelle que soit la longueur.
Comment puis-je la définir là où le lien seuls montre lorsque l'annonce est coupée / plus de 400 caractères?
Voici mon 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>
La solution
Vous voudriez envelopper cela dans un si, quelque chose sur les lignes de ceci:
<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange